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

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 5月 28日 (水) 13:30:07 JST


菊池さま

ご教授ありがとうございます。
山下真理です。

BindingList<T>メソッドがあったなんで、勉強不足でした。
早速、実装してみたいと思います。

ありがとうございました。

山下真理


----- Original Message ----- 
送信者: 菊池和彦<[E-MAIL ADDRESS DELETED]>
宛先: [E-MAIL ADDRESS DELETED]
日付:Wednesday, May, 28, 2008, 11:43 AM
件名: [seasar-dotnet:843] Re:[S2Form]Gridタイプコントロールについて

> 
> 
> 菊池です
> 
>  IList<T> をバインディング可能にしたいのであれば
> 
> System.ComponentModel.BindingList<T>
> http://msdn.microsoft.com/ja-jp/library/ms132679(VS.80).aspx
> 
>  を利用してみてはいかがでしょうか。(.NET Flamework 2.0以降)
> 
>  コンストラクタが IList<T> を受けますので、DBFlute から戻った IList<T> を元に BindingList
<T> を
> new してデータバインディングにまわすだけで良いと思います。
> 
> 
> 2008/05/28 11:27 koyak <[E-MAIL ADDRESS DELETED]>:
> > 山下様
> >
> > 小谷です。
> >
> >> 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
> >
> 
> 
> 
> -- 
>  Kazuhiko Kikuchi <[E-MAIL ADDRESS DELETED]>
>  Microsoft Valueable Professional - Visual C# 2004-2007
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> 


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