DataGridView控件在winform模式中如何使数据库中的字段绑定到列上

DataGridView控件在winform模式中如何使数据库中的字段绑定到列上,第1张

这个问题我今天刚好遇到。修改一下编辑列的DataPropertyName 属性,设置成与数据库中的列名相同即可,就是“email”,不区分大小写。

SqlDataAdapter adapter = new SqlDataAdapter(cmdCommandText, conn);

DataSet ds = new DataSet();

adapterFill(ds);

//绑定数据源

dgvStuListDataSource = dsTables[0];

DataPropertyName 属性的详细资料:

msdnmicrosoftcom/zh-cn/library/systemwindowsformsdatagridviewcolumndatapropertyname(VS90)aspx

首先不建议绑定数据库,这样你的Datagridview的重用性也更高,还有Datagridview不可能与数据库同步更新,目前数据库不支持事件,所以即便你数据库做了更改,Datagridview里的数据也不会实时刷新,或者你写个定时器,周期性刷新,也差不多,但绝对不会自动同步!!

你可以定义一个类,这个类里面就是你的字段内容,然后用Group来分组遍历,组成新的数据源就可以了。类似的伪代码。

public class CStudent

{

/// <summary>

/// 班别

/// </summary>

public virtual String ClassType { get; set; }

/// <summary>

/// 人数

/// </summary>

public virtual Int32 Count { get; set; }

/// <summary>

/// 合并项

/// </summary>

public virtual String Merge { get; set; }

}

我只定义了三项,还有一些字段类似这种方法。然后你把读出来的数据填充到List<CStudent>中。

List<CStudent> lst = new List<CStudent>();

//这里就填充数据,如果是从数据库里察出来的DataTable就做个转换

foreach (var obj in lstGroupBy(a => aMerge))

{

var count = objSum(a => aCount); //人数相加

var ctype = StringJoin("、", objSelect(a => aClassType)Distinct()ToArray());

//这里把合并计算后的值生成新的数据源, DataTable都行。

}

如果你不想用List泛型,就用DataTable也可以。

以上就是关于DataGridView控件在winform模式中如何使数据库中的字段绑定到列上全部的内容,包括:DataGridView控件在winform模式中如何使数据库中的字段绑定到列上、C#winform编程中,当使用Datagridview与数据库绑定的时候,如何让Datagridview与数据库同步更新、处理c#winform中数据库绑定在dataGridview里的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9368555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存