C# winform datagridview 数据绑定不支持单条数据的改进方法

今天在写代码时,对C# winfrom中的datagridview控件进行数据绑定时,通过一个查询得到一条数据,对datagridview进行数据绑定时,竟然数据无法显示:

           这里是我写的调用方法,用GetBLL的方法GetqueryDateById调用得到一条数据,直接绑定到datagridview,数据一直无法正常显示,迷惑半天找不到原因。
           dategridview1.DataSource =GetBLL.GetqueryDateById(Id)      

          换个思路把单条数据转换成list列表试一下:

                List<DataModel> listtemp = new List<DataModel>();

                listtemp.Add(GetBLL.GetqueryDateById(Id));

               dategridview1.DataSource =    listtemp;

          这样数据就能正常显示,希望给碰到同样问题的同学一点启示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinForm 中,可以通过双向数据绑定来实现 DataGridView 控件与数据源之间的数据同步。当数据源的值发生改变时,DataGridView 控件会自动刷新显示;当用户在 DataGridView 中修改了数据时,数据源的值也会自动更新。 以下是实现双向数据绑定的步骤: 1. 定义一个实体类,来表示要绑定数据对象,该实体类的属性应该和 DataGridView 中的列一一对应。 ```C# public class Person { public string Name { get; set; } public int Age { get; set; } public string Gender { get; set; } } ``` 2. 在 Form 中创建 DataGridView 控件,并设置其 DataSource 属性为 BindingSource 的实例。 ```C# BindingSource personSource = new BindingSource(); personSource.DataSource = typeof(Person); dataGridView1.DataSource = personSource; ``` 3. 创建一个 Person 对象的实例,并将其绑定到 BindingSource 中。 ```C# Person person = new Person() { Name = "Tom", Age = 20, Gender = "Male" }; personSource.Add(person); ``` 4. 在需要进行双向数据绑定DataGridView 列上,设置其 DataPropertyName 属性为 Person 对象的属性名。 ```C# dataGridView1.Columns["Name"].DataPropertyName = "Name"; dataGridView1.Columns["Age"].DataPropertyName = "Age"; dataGridView1.Columns["Gender"].DataPropertyName = "Gender"; ``` 5. 如果需要在 DataGridView 中修改数据,可以通过 DataGridView 中的 CurrentCellDirtyStateChanged 事件和 CellValueChanged 事件来实现数据源的更新。 ```C# private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dataGridView1.IsCurrentCellDirty) { dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); } } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { Person person = personSource.Current as Person; personSource.EndEdit(); } } ``` 以上就是在 WinForm 中实现双向数据绑定的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值