DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataBindが表示されません。

環境/言語:[C#]
分類:[.NET]

はじめまして。C#で作成しています。

自分で作成したDataTableの内容をDataGridに表示させようとしているのですが、
DataBindが表示されません。

ソースとしては

       DataSet Ds;
DataTable ManTable;
DataRow Drow;

Ds=new DataSet();

ManTable=new DataTable();

ManTable.Columns.Add(new DataColumn("番号",typeof(int)));
ManTable.Columns.Add(new DataColumn("名前",typeof(string)));

int i;

for (i=0; i < cboManName.Items.Count; i++)
{

Drow = ManTable.NewRow();
Drow["番号"] = i;

// コンボボックスのインデックスの名前を表示する。
cboManName.SelectedIndex = i;
Drow["名前"] = cboManName.SelectedItem;
ManTable.Rows.Add(Drow);

}

// 作成したデータテーブルをデータグリッドに設定
Ds.Tables.Add(ManTable);
grd1.DataSource = Ds;
         grd1.DataBind ←ここのDataBindが出てきません。

こういう作成の方法は間違えているのでしょうか。ご教授お願いします。
DataSetならばDataMemberも必要では?
■No14680に返信(SadManさんの記事)
> DataSetならばDataMemberも必要では?

すいません。DataSetではなく、DataTableを直接DataSourseに指定したら
DataBindをしなくても表示されました。

ありがとうございました。
解決済み!
2006/01/26(Thu) 14:59:40 編集(投稿者)
2006/01/26(Thu) 14:59:28 編集(投稿者)

■No14690に返信(かずやさんの記事)
> ■No14680に返信(SadManさんの記事)
>>DataSetならばDataMemberも必要では?
>
> すいません。DataSetではなく、DataTableを直接DataSourseに指定したら
> DataBindをしなくても表示されました。

はい、DataTableは単体テーブルですから
それでDataSetの場合は中に複数テーブルある可能性があるので
DataSourceにDataSetを設定し、更にそのセットの中のこのテーブルと指定するために
DataMemberを設定する必要があるのでは?と申したのです

単一のテーブルを含むDataSetならば簡易的には
grid.SetDataBinding(dataSet, dataSet.Tables[0].TableName);

というように
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板