[seasar-dotnet:847] Re: [S2Form]Gridタイプコントロールについて
Hiroaki Fujii
[E-MAIL ADDRESS DELETED]
2008年 5月 28日 (水) 23:52:52 JST
みなさまへ
藤井です。
DataGridViewへのバインディングの動作の対応しているのは次の通りでした。
・配列
・System.Data.DataTable
・System.Collections.ArrayList
・System.Collections.Generic.List<T>
・System.ComponentMode.BindingList<T>
参考にしてください。
[E-MAIL ADDRESS DELETED] さんは書きました:
> 菊池さま
>
> ご教授ありがとうございます。
> 山下真理です。
>
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
seasar-dotnet メーリングリストの案内