[seasar-dotnet:846] Re: [S2Form]Gridタイプコントロールについて

kubo [E-MAIL ADDRESS DELETED]
2008年 5月 28日 (水) 13:32:11 JST


久保です。

山下さん、こんにちは

> 恐縮ですが、この問題は、将来的にDBFlute側で対応される
> と、いうことでしょうか?

GenericじゃないIListも実装するように検討します。
(今試せる環境が無いので、簡単にできるか不明なのですが、
 サクっとできるようだったら対応して次バージョンに含めますね)

> 菊池さん

フォローありがとうございます。



#
# なんだかんだいって、GenericじゃないCollectionに
# 引きずられるものですね。。。
#


2008/5/28  <[E-MAIL ADDRESS DELETED]>:
> 小谷さま
>
> 山下です。
> 調べていただいてありがとうございます。
> 取得できない理由がわかりとてもすっきりしました。
>
> 恐縮ですが、この問題は、将来的にDBFlute側で対応される
> と、いうことでしょうか?
>
> 山下 真理
>
>
>
> ----- Original Message -----
> 送信者: koyak<[E-MAIL ADDRESS DELETED]>
> 宛先: [E-MAIL ADDRESS DELETED]
> 日付:Wednesday, May, 28, 2008, 11:27 AM
> 件名: [seasar-dotnet:842] Re:[S2Form]Gridタイプコントロールについて
>
>>
>>
>> 山下様
>>
>> 小谷です。
>>
>> > DBFluteで取得した、List<Entry>をDTOに一度変換しList<Dto>として、
>> > やると、表示できるようになりました。
>> > DBFluteから取得したList<Entry>をそのまま利用できないようでした。。。
>>
>> 現行の.NETの仕様が関係しているかもしれません。
>> http://msdn.microsoft.com/ja-jp/library/system.windows.forms.binding(VS.80).aspx
>> 上記ドキュメントを読む限りでは
>> コントロールにバインディング可能なのは(Genericではない方の)IList実装型です。
>>
>> >List<Dto>として、
>> > やると、表示できるようになりました。
>>
>> ここで使われているList<T>はGenricではないIListとGenericなIList<T>の両方を実装しています。
>> (名前がほぼ同じなのでわかりにくいですが)
>>
>> それに対してDBFluteのSelectListが返すリストはListResultBeanという型で、これは
>> GenericであるIList<T>を実装しており、GenericではないIListは実装していません。
>>
>> まだ推測のレベルなのですが、上記の違いにより
>> データが取れていてもDataGridViewに検索結果が反映されない、という
>> 現象が起こっている可能性があります。
>>
>> はっきりとしたことがわかりましたら、またご連絡致します。
>>
>> -----------------------------------------------------------------------
>> koyak
>> [E-MAIL ADDRESS DELETED]
>> -----------------------------------------------------------------------
>>
>> 2008/05/28 8:50  <[E-MAIL ADDRESS DELETED]>:
>> > 山下です。
>> >
>> > いつもお世話になっております。
>> >
>> > Gridの表示ですが、0件のように行が表示されておりません。
>> > DBFluteで取得した、List<Entry>をDTOに一度変換しList<Dto>として、
>> > やると、表示できるようになりました。
>> > DBFluteから取得したList<Entry>をそのまま利用できないようでした。。。
>> >
>> > public class HogeDto{
>> >     public IList<Hoge> List { get; set; }
>> > }
>> >
>> > public class DataDto{
>> >    public string Name { get; set; }
>> > }
>> >
>> > [Control("catList", "DataSource", "List")]
>> > public partial class HogeForm : S2Form {
>> >  public void Hoge(){
>> >     DataDto hoge = new DataDto();
>> >     hoge.Name = "ほげほげ";
>> >     IList<DataDto> ls = new List<DataDto>();
>> >     ls.Add(hoge);
>> >     HogeDto dto = new HogeDto();
>> >     dto.List = ls;
>> >     this.DataSource = dto;
>> >  }
>> > }
>> >
>> >
>> > ----- Original Message -----
>> > 送信者: Hiroaki Fujii<[E-MAIL ADDRESS DELETED]>
>> > 宛先: [E-MAIL ADDRESS DELETED]
>> > 日付:Tuesday, May, 27, 2008, 03:38 PM
>> > 件名: [seasar-dotnet:840] Re:[S2Form]Gridタイプコントロールについて
>> >
>> >>
>> >>
>> >> 藤井です。
>> >>
>> >> マッピングに関する認識はそのとおりです。
>> >>
>> >> 一つ、教えていただきたい点があります。
>> >> Gridの表示ですが、0件のように行が表示されていないのでしょうか?
>> >> それともDBFluteでの取得件数分だけ、行数があるのでしょうか?
>> >> 列の状況も教えていただけると助かります。
>> >>
>> >>
>> >> [E-MAIL ADDRESS DELETED] さんは書きました:
>> >> > 山下です。
>> >> >
>> >> > ご回答ありがとうございます。
>> >> >
>> >> > 参考にさせていただき、プログラミングさせていただきました。
>> >> > しかし、まだ、何かが足らないようで、Gridに反映されませんでした。
>> >> > フォーム側の設定としては、DataGridViweのバインド列のプロパティの、
>> >> > DataPropertyNameと、IList<Hoge>無いのHoge内のプロパティが
>> >> > マッピングして、表示されるという認識でよろしいでしょうか?
>> >> >
>> >> > DBFlute側でのデータは、取得できているようでした。
>> >> >
>> >> > 山下 真理
>> >> >
>> >> >
>> >> >> public class HogeDto{
>> >> >>     public IList<Hoge> List { get; set; }
>> >> >> }
>> >> >>
>> >> >> [Control("catList", "DataSource", "List")]
>> >> >> public partial class HogeForm : S2Form {
>> >> >>     public void Hoge(){
>> >> >>            HogeDto dto = new HogeDto();
>> >> >>             dto.List = (DBFluteの検索メソッドなど)
>> >> >>            this.DataSource = dto;
>> >> >>     }
>> >> >> }
>> >> >>
>> >> >
>> >> >
>> >> > ----- Original Message -----
>> >> > 送信者: koyak<[E-MAIL ADDRESS DELETED]>
>> >> > 宛先: [E-MAIL ADDRESS DELETED]
>> >> > 日付:Monday, May, 26, 2008, 11:31 PM
>> >> > 件名: [seasar-dotnet:837] Re:[S2Form]Gridタイプコントロールについて
>> >> >
>> >> >>
>> >> >> 山下様
>> >> >>
>> >> >> 小谷です。
>> >> >>
>> >> >> ご利用いただき、ありがとうございます!
>> >> >>
>> >> >> ご質問の件ですが、
>> >> >> >[Control("catList", "DataSource", "List")]
>> >> >>
>> >> >> この記述によって結び付けられるのは
>> >> >> 「catList」の「DataSource」プロパティと、
>> >> >> S2Formを継承したクラスがもつDataSourceプロパティに設定されている
>> >> >> オブジェクトの「List」プロパティになります。
>> >> >> (なので検索結果のリストを直接DataSourceプロパティに
>> >> >> 設定しても反映されません)
>> >> >>
>> >> >> ※対応するドキュメント
>> >> >> http://s2container.net.seasar.org/ja/s2windows-s2form.html#grid
>> >> >>
>> >> >> コードにすると下記のようなイメージです。
>> >> >> (スペース省略のため、C#3.5の文法で書いています)
>> >> >>
>> >> >> public class HogeDto{
>> >> >>     public IList<Hoge> List { get; set; }
>> >> >> }
>> >> >>
>> >> >> [Control("catList", "DataSource", "List")]
>> >> >> public partial class HogeForm : S2Form {
>> >> >>     public void Hoge(){
>> >> >>            HogeDto dto = new HogeDto();
>> >> >>             dto.List = (DBFluteの検索メソッドなど)
>> >> >>            this.DataSource = dto;
>> >> >>     }
>> >> >> }
>> >> >>
>> >> >> ボタンか何かでHogeメソッドを呼ぶとDBFluteを使って
>> >> >> 検索を行い、結果をcatList上に表示するはずです。
>> >> >>
>> >> >> ----------------------------------------------------------------
>> >> >> koyak
>> >> >> [E-MAIL ADDRESS DELETED]
>> >> >> ----------------------------------------------------------------
>> >> >>
>> >> >> 2008/05/26 19:44  <[E-MAIL ADDRESS DELETED]>:
>> >> >>> いつもお世話になっております。
>> >> >>> 山下です。
>> >> >>>
>> >> >>> S2Continar 1.3.9
>> >> >>> Quill 1.3.9
>> >> >>> DBFlute 0.7.2
>> >> >>> S2Form
>> >> >>>
>> >> >>> を利用させて頂いております。
>> >> >>> Gridタイプコントロールを利用したく、コーディングをしております。
>> >> >>>
>> >> >>> DBFluteから取得した内容を、Gridに反映したく、Controlの定義方法について
>> >> >>> 質問させていただきます。
>> >> >>> Controlの指定は、下記のように設定をしております。
>> >> >>>
>> >> >>> [Control("catList", "DataSource", "List")]
>> >> >>>
>> >> >>> DataSourceに渡されるDtoのプロパティ名と、Grid(catList)の、
>> >> >>> カラムDataPropertyNameの名称を同じにすることにより、
>> >> >>> Grid表示されるようになると思うのですが、認識としましては、
>> >> >>> あっておりますでしょうか?
>> >> >>> DBFlute側で取得してきて、DataSourceに入れた後に、Gridに反映されて
>> >> >>> いなく悩んでおります。
>> >> >>>
>> >> >>> Gridタイプコントロールについて、今あがっているドキュメント以外に、
>> >> >>> 詳細に記載されているドキュメント等がありましたら、
>> >> >>> URL等を教えていただけないでしょうか。
>> >> >>>
>> >> >>> 宜しくお願い致します。
>> >> >>>
>> >> >>> 山下
>> >> >>> _______________________________________________
>> >> >>> seasar-dotnet mailing list
>> >> >>> [E-MAIL ADDRESS DELETED]
>> >> >>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >> >>>
>> >> >> _______________________________________________
>> >> >> seasar-dotnet mailing list
>> >> >> [E-MAIL ADDRESS DELETED]
>> >> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >> >>
>> >> > _______________________________________________
>> >> > seasar-dotnet mailing list
>> >> > [E-MAIL ADDRESS DELETED]
>> >> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >> >
>> >>
>> >> _______________________________________________
>> >> seasar-dotnet mailing list
>> >> [E-MAIL ADDRESS DELETED]
>> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >>
>> > _______________________________________________
>> > seasar-dotnet mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内