C# 下一步是什么,我有代码,但我不知道下一步该怎么做?
我是c#新手,我正试图用数据库中的数据填充我的datagridview,并在某个列上创建一个groupby 例如: 我有一个datagridview,它包含:field、fullname和worker\u id 我想从数据库中获取数据,并根据字段名对它们进行分组C# 下一步是什么,我有代码,但我不知道下一步该怎么做?,c#,C#,我是c#新手,我正试图用数据库中的数据填充我的datagridview,并在某个列上创建一个groupby 例如: 我有一个datagridview,它包含:field、fullname和worker\u id 我想从数据库中获取数据,并根据字段名对它们进行分组 public void FillFullSchedule() { using (SqlConnection sqlcon = new SqlConnection(con)) {
public void FillFullSchedule()
{
using (SqlConnection sqlcon = new SqlConnection(con))
{
sqlcon.Open();
SqlCommand cmd = new SqlCommand("dbo.FullScheduleData", sqlcon);
//SqlDataReader reader = cmd.ExecuteReader();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
fullScheduleDG.Rows.Clear();
foreach (DataRow dr in dt.Rows)
{
int n = fullScheduleDG.Rows.Add();
fullScheduleDG.Rows[n].Cells[0].Value = dr[1].ToString();
fullScheduleDG.Rows[n].Cells[1].Value = dr[0].ToString();
fullScheduleDG.Rows[n].Cells[2].Value = dr[2].ToString();
}
}
}
没问题
我有将这篇文章中的数据分组的代码:
但是我不知道如何使用它。我该怎么办??我不知道下一步该怎么办
是将事件添加到CellFormatting或类似的东西还是什么?使用您想要的3个字段和绑定列表构建一个类,以便在DataGrid中填充数据
public class yourClassName
{
public string field { get; set; }
public string fullname { get; set; }
public int worker_id { get; set; }
}
public class yourMainClass
{
public BindingList<yourClassName> yourDataForGrid { get; }
public yourMainClass(//this is a constructor. your params go here)
{
yourDataForGrid = GetDataForGrid(//your params here)
}
}
创建我在加载BindingList的构造函数中调用的方法:
public static BindingList<yourClassName> GetDataForGrid(//your params here)
{
BindingList<yourClassName> tempList = new BindingList<yourClassName>();
//your sql code to build a dataset goes here
//foreach row in your dataset
{
yourClassName row = new yourClassName();
row.field = //insert value for field
row.fullname = //insert value for fullname
row.worker_id = //insert value for worker_id
tempList.Add(row);
}
}
公共静态绑定列表GetDataForGrid(//此处的参数)
{
BindingList tempList=新建BindingList();
//用于构建数据集的sql代码如下
//数据集中的每一行
{
yourClassName行=新建yourClassName();
row.field=//为字段插入值
row.fullname=//插入fullname的值
row.worker\u id=//插入worker\u id的值
添加(行);
}
}
查看以下线程:不填充网格,只需将其绑定。fullScheduleDG.DataSource=dt
的结果与您在循环中手动执行的结果相同。使用分组数据源或继承的datagridview而不是datagridview。在Initilize方法中,用newgroupbygrid
替换newdatagridview
。不要将网格绑定到DataTable
,而是绑定到DataView
。您可以使用数据视图进行排序、搜索。DataTable应该只是一个存储,view应该是sourceOk,直到现在你告诉我如何做以上所有事情,但是我应该在哪里使用这个链接中的代码:stackoverflow.com/a/44807088/10534001来合并datagrid的单元格?如果你检查这个链接,你会发现我需要什么,但问题是我不知道如何一步一步地做
public static BindingList<yourClassName> GetDataForGrid(//your params here)
{
BindingList<yourClassName> tempList = new BindingList<yourClassName>();
//your sql code to build a dataset goes here
//foreach row in your dataset
{
yourClassName row = new yourClassName();
row.field = //insert value for field
row.fullname = //insert value for fullname
row.worker_id = //insert value for worker_id
tempList.Add(row);
}
}