C# 下一步是什么,我有代码,但我不知道下一步该怎么做?

C# 下一步是什么,我有代码,但我不知道下一步该怎么做?,c#,C#,我是c#新手,我正试图用数据库中的数据填充我的datagridview,并在某个列上创建一个groupby 例如: 我有一个datagridview,它包含:field、fullname和worker\u id 我想从数据库中获取数据,并根据字段名对它们进行分组 public void FillFullSchedule() { using (SqlConnection sqlcon = new SqlConnection(con)) {

我是c#新手,我正试图用数据库中的数据填充我的datagridview,并在某个列上创建一个groupby

例如:

我有一个datagridview,它包含:field、fullname和worker\u id

我想从数据库中获取数据,并根据字段名对它们进行分组

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);
      }
 }