C# DataGridView定义好列属性后,怎样绑定DataSet数据源填充数据

双木宝宝 2013-07-16 04:01:34

如图。

我已经定义好DataGridView的列名和列属性(品质是ComboBox类型的)。

怎样绑定一个DataSet向各列填充数据啊。

使用dataGridView1.DataSource = ds.Table[0];这句,会向DataGridView后面增加列然后填充增加的列的数据。

或者曲线救国一下,使用dataGridView1.DataSource = ds.Table[0];这句之后,则样让一列变为ComboBox并且下拉可选的内容是指定的。

谢谢大家。
...全文
7764 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级橡树 2013-10-19
  • 打赏
  • 举报
回复
数据是填充进去了,但dataGridView整个不可用啊,因为还有一列是下拉框,要用下拉框选择数据进行修改啊。
安得权 2013-07-16
  • 打赏
  • 举报
回复
引用 12 楼 Yalehorance 的回复:
[quote=引用 9 楼 CsethCRM 的回复:]
非常感谢你,就是这个原因了。 谢谢~[/quote]
双木宝宝 2013-07-16
  • 打赏
  • 举报
回复
引用 9 楼 CsethCRM 的回复:
非常感谢你,就是这个原因了。 谢谢~
全栈极简 2013-07-16
  • 打赏
  • 举报
回复
你参考9楼的截图,主要设置datapropertyname属性为你的datatable里面的列名。
双木宝宝 2013-07-16
  • 打赏
  • 举报
回复
引用 8 楼 CsethCRM 的回复:
我试试,如果能成功就非常感谢您了~这个问题困惑了我一个星期,找了若干资料了。。。
安得权 2013-07-16
  • 打赏
  • 举报
回复
安得权 2013-07-16
  • 打赏
  • 举报
回复
双木宝宝 2013-07-16
  • 打赏
  • 举报
回复
引用 5 楼 guwei4037 的回复:
[quote=引用 2 楼 Yalehorance 的回复:] [quote=引用 1 楼 guwei4037 的回复:] 设置autogeneratecolumns=false;//关闭自动产生列
但是这样还是不能将Dataset的Table表里的数据填充到DataGridView里面啊,仅仅是不让他产生新的列了。。。[/quote] dataGridView1.DataSource = ds.Table[0];//这句话也是必须要的 另外就是在编辑列里面打开,设置field列名,即可。 [/quote] 我是不是不能够提前将Dataset的Table表里面的列设定好,直接使用dataGridView1.DataSource = ds.Table[0]之后,DataGridView自动能够将DataGridView的列数和列属性传入到Dataset的DataTable表里。
party620 2013-07-16
  • 打赏
  • 举报
回复
将字段绑定到列
全栈极简 2013-07-16
  • 打赏
  • 举报
回复
引用 2 楼 Yalehorance 的回复:
[quote=引用 1 楼 guwei4037 的回复:] 设置autogeneratecolumns=false;//关闭自动产生列
但是这样还是不能将Dataset的Table表里的数据填充到DataGridView里面啊,仅仅是不让他产生新的列了。。。[/quote] dataGridView1.DataSource = ds.Table[0];//这句话也是必须要的 另外就是在编辑列里面打开,设置field列名,即可。
party620 2013-07-16
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
设置autogeneratecolumns=false;//关闭自动产生列
双木宝宝 2013-07-16
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
设置autogeneratecolumns=false;//关闭自动产生列
另外,我使用代码一个一个往DataGridView填充值,这样只能显示最下面一行的数据,其他的全都显示不了,也不知道为什么。:

for(int i=0;i<dsShuJu.Tables[0].Rows.Count;i++)
{
    for(int j=0;j<dsShuJu.Tables[0].Columns.Count;j++)
    {
        dataGridView2.Rows.Clear();
        dataGridView2.Columns.Insert(0,new DataGridViewColumn());
        //一个一个传递值
    }
}
双木宝宝 2013-07-16
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
设置autogeneratecolumns=false;//关闭自动产生列
但是这样还是不能将Dataset的Table表里的数据填充到DataGridView里面啊,仅仅是不让他产生新的列了。。。
全栈极简 2013-07-16
  • 打赏
  • 举报
回复
设置autogeneratecolumns=false;//关闭自动产生列

111,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧