我正在看这个让DataGridView自动添加合计行这个通用类,源代码在http://www.cnblogs.com/zgt2008/archive/2008/06/11/1217535.html
有这么一段
           int number = 1;
           foreach (DataRow dr in dt.Rows)
           {
                dr["@xu.Hao"] = number++;
......
这个“序号”这一列是原来有的呢,还是我们在编程的时候加上的呢,意思就是说我们的表里本来没有“序号”这一列,显示在DataGridView上的时候加上这么一列呢?

解决方案 »

  1.   

    dt是datatable
    datatable是放在内存中的一组数据,也可以把他看做是一张在内存的表。
    xu.Hao只是里面的一列。
      

  2.   

    在dataTable 做一列 序号
    绑DataGridView 就会有了
    www.csharp360.com
      

  3.   

    这个不太确定。里面有这段代码//如果有没有序号这列,就自动给它加上序号列
       if (dt.Columns.IndexOf("@xu.Hao") < 0)
    197            {
    198                DataColumn dc = new DataColumn("@xu.Hao", System.Type.GetType("System.Int32"));
    199                dt.Columns.Add(dc);
    200                dgv.Columns["@xu.Hao"].DisplayIndex = 0;
    201                dgv.Columns["@xu.Hao"].HeaderText = "序号";
    202
    203                dgv.Columns["@xu.Hao"].SortMode = DataGridViewColumnSortMode.Programmatic;
    204                dgv.AutoResizeColumn(dgv.Columns["@xu.Hao"].Index);
    205
    206                dgv.Columns["@xu.Hao"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
    207                dgv.Columns["@xu.Hao"].Visible = true;
    208            }
      

  4.   

    没看源码,不过一般都是直接从数据库中生成出来的,很少有人在dataset里面做序号吧,费时费事,如果是sql2005直接一个row_number函数就可以为查询的数据添加一个序号列
      

  5.   

    把你从数据库里读出来的数据放进一个临时表中,在临时表中加上序号这一列,然后绑定到DataGridView中.
      

  6.   

    新建一个datatable,第一列为序号,其他列为你原来的数据~