DataGridのバインディングの巻(その1)
DataGridに、WebServiceで取得したオブジェクトをバインディングしてみる
procedure TWinForm.Button3_Click(sender: System.Object; e: System.EventArgs); var bookshelf_ :BookshelfImplService; begin bookshelf_ :=BookshelfImplService.Create; DataGrid1.DataSource := bookshelf_.getBooks; bookshelf_.Free; end;
DataGrid1のDataSourceに、bookshelf_サービスのメソッドで取得したリストをセットしてみる。実行すると、グリッドにレコード数分の行が表示されたが・・・
列がない。どうやら、属性を認識していないようだ。もしかしたら、web参照で自動でできるpasファイルって、半端に使えないモジュールなのかもしれない。DataGrid#DataSourceのhelpを確認してみよう。
DataGrid をオブジェクトの厳密に型指定された配列にバインドするには、オブジェクトにパブリック プロパティが含まれている必要があります。
ヘルプによるとこんな感じっていうじゃなーい。
でも、Web参照でDelphiによって生成されるpasのclassは〜っ!!、単に属性がpublicになってるだけですから残念!!!!
うねっ、もう一個、class作れってか。
ちなみに、上記記述要領はhttp://d.hatena.ne.jp/koichik/20050106#1105028592 を参照してください。一応、上級を目指してます。