[seasar-dotnet:869] Re: ユーザーコントロールのDataGridView+DataSourceの挙動について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 6月 9日 (月) 07:04:33 JST


藤井さま

おはようございます。
山下です。

DataPropertyName属性に設定したらばっちりできました。
本当に、ありがとうございました。

山下 真理



----- Original Message ----- 
送信者: Hiroaki Fujii<[E-MAIL ADDRESS DELETED]>
宛先: [E-MAIL ADDRESS DELETED]
日付:Sunday, June, 08, 2008, 07:55 PM
件名: [seasar-dotnet:868] Re:ユーザーコントロールのDataGridView+DataSourceの挙動について

> 山下さん
> 
> 藤井です。
> 
> 下記のDataGridViewの設定を
> ・DataGridViewの列のName属性→DataPropertyName属性で設定
> という風に変更してみてください。
> 
> イメージと異なるといけないので、添付しますので確認お願いします。
> 
> なお、VisualStudio2008で確認しました。
> 
> 
> サンプルは確かに上記の通りになっていたのですが、ドキュメントには確かに
> 明記していないですね。わかりずらかったかもしれませんね。
> 
> 
> [E-MAIL ADDRESS DELETED] さんは書きました:
> > > 藤井さま
> > >
> > > いつもお世話になっております。
> > > 山下です。
> > >
> > > お手数をおかけしますが、よろしくお願いいたします。
> > >
> > > 山下 真理
> > >
> > >
> > > ----- Original Message -----
> > > 送信者: Hiroaki Fujii<[E-MAIL ADDRESS DELETED]>
> > > 宛先: [E-MAIL ADDRESS DELETED]
> > > 日付:Friday, June, 06, 2008, 01:22 AM
> > > 件名: [seasar-dotnet:863] Re:ユーザーコントロールのDataGridView+
> DataSourceの挙動について
> > >
> >> >>
> >> >> 山下さん
> >> >>
> >> >> 藤井です。
> >> >>
> >> >> 了解しました。
> >> >> ちょっと、調査してみます。
> >> >>
> >> >> また、報告します。
> >> >>
> >> >>
> >> >> [E-MAIL ADDRESS DELETED] さんは書きました:
> >>> >>> 小谷様 藤井様
> >>> >>>
> >>> >>> いつもお世話になっております。
> >>> >>> 山下です。
> >>> >>>
> >>> >>> 藤井さんから頂いておりました、質問の回等もふまえて、
> >>> >>> 流れを説明させて頂きます。
> >>> >>>
> >>> >>> 1.ユーザーコントロール内で、DataGridViewを作成
> >>> >>>  DataGridView内の列にヘッダー名(氏名)、name属性を[name]を作成
> >>> >>>
> >>> >>> 2.ユーザーコントロールのコードでアクセッサを作成
> >>> >>>
> >>> >>>   public string Name { get; set; }
> >>> >>>
> >>> >>> 2.バインドしたいDTOを作成
> >>> >>>  プロパティにnameとkanaを作成
> >>> >>>
> >>> >>> 3.他のフォームから作成したユーザーコントロールを利用し、
> >>> >>>  DataSourceでバインドする。
> >>> >>>  既存の列に追加する形で、nameとkanaが追加される
> >>> >>>  |氏名|name|kana|
> >>> >>>   |    |山下|やました|
> >>> >>>  DTOの数だけ行が表示されている。
> >>> >>>
> >>> >>> と、いった状態になっております。
> >>> >>>
> >>> >>> 2で何故、アクセッサを記述したかというと、
> >>> >>> ユーザーコントロール内TextBoxに、バインドさせようとすると、
> >>> >>> アクセッサがなければ、正常に動作しませんでした。
> >>> >>>
> >>> >>> public string TxtEmail {
> >>> >>>   get { return this.txtEmail.TEXT; }
> >>> >>>   set { this.txtEmail.TEXT = value; }
> >>> >>> }
> >>> >>>
> >>> >>> そこで、同じようにDataGridViewの列に対してアクセッサを追加しようと
> >>> >>> 思ったのですが、書き方がわからずにおります。
> >>> >>>
> >>> >>> public string TxtName {
> >>> >>>   get { return ここにどう書いたらいいかわからない; }
> >>> >>>   set { ここにどう書いたらいいかわからない = value; }
> >>> >>> }
> >>> >>>
> >>> >>> 小谷さんより、アドバイスをいただきましたAutoGenerateColumnsをつ
> けると、
> >>> >>> 確かに、列は追加されなくなりましたが、やはりバインドは行われず、
> >>> >>> DTOの数だけ行数が表示されるといった表示方法になってしまいました。
> >>> >>>
> >>> >>> お手数をおかけしますが、宜しくお願い致します。
> >>> >>>
> >>> >>> 山下 真理
> >>> >>>
> 
> 
> 


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