Loops 是否使用devexpress gridview在列中自动添加1到4之间的数字?

Loops 是否使用devexpress gridview在列中自动添加1到4之间的数字?,loops,gridview,devexpress,Loops,Gridview,Devexpress,我正在使用导入Excel工作表的DevExpress GridView制作一个c Winform应用程序。它有11列和许多行。我希望能够对它进行排序,并按某个列进行分组,这就是为什么我需要使用按钮在名为Break的列中添加自动编号1、2、3和4。我搜索了很多,试图做一个循环,但我失败了,有人能帮我吗 DevExpress.XtraGrid.Columns.GridColumn col = gridView2.Columns.ColumnByFieldName("Break");

我正在使用导入Excel工作表的DevExpress GridView制作一个c Winform应用程序。它有11列和许多行。我希望能够对它进行排序,并按某个列进行分组,这就是为什么我需要使用按钮在名为Break的列中添加自动编号1、2、3和4。我搜索了很多,试图做一个循环,但我失败了,有人能帮我吗

   DevExpress.XtraGrid.Columns.GridColumn col = gridView2.Columns.ColumnByFieldName("Break");
          for( int i = 0; (i < 5)
          {

          i++;


            col = i.ToString(); 

           }

听起来像是试图将单元格值设置为i.ToString,但实际上是将其指定给实际的Break列,而不是将其设置为单元格的值。您需要在网格中的行之间循环。这还没有经过测试,但按照这些思路应该可以做到:

Int32 count = 0;
public object GetNextNum()
{
    if (count >= 5)
        count = 0;
    count++;
    return count;
}

DevExpress.XtraGrid.Columns.GridColumn col = gridView2.Columns.ColumnByFieldName("Break");

for (int rowHandle = 0; rowHandle < gridView.RowCount; rowHandle++)
{
    grdView2.SetRowCellValue(rowHandle, col, GetNextNum())
}
请注意,这将只处理正的行句柄,因此不会为任何组标题设置单元格值,因为它们具有负的行句柄,即顶部组的行句柄为-1。下面的组句柄是-2,依此类推

查看这篇文章,其中有一个示例,介绍了如何遍历包含或不包含分组列的网格,因为这可能很有用:


这篇文章还解释了如何使用ColumnView.SetFocusedValue、ColumnView.SetFocusedRowCellValue、ColumnView.SetRowCellValue和ColumnView.EditingValue在devepress网格视图中设置单元格行值:

您需要包含一些代码,因此,任何试图帮助您了解您已经做了哪些工作,以及哪些地方缺少/似乎有问题。DevExpress.XtraGrid.Columns.GridColumn coll=gridView2.Columns.ColumnByFieldNameBreak;对于int i=0;i<5{i++;col=i.ToString;}虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。谢谢您的建议。我已经更新了我的答案以提供更多信息。
private static void TraverseRows(GridView gridView)
{
    if (gridView.GroupCount == 0)
        for (int rowHandle = 0; rowHandle < gridView.RowCount; rowHandle++)
        {
            foreach (GridColumn gc in gridView.Columns)
                WriteString(String.Format("{0} ", gridView.GetRowCellDisplayText(rowHandle, gc)));
            WriteString("\r\n");
        }
    else
    {
        // Get the list of grouped columns
        List<GridColumn> groupedColumnsList = new List<GridColumn>();
        foreach (GridColumn groupedColumn in gridView.GroupedColumns)
            groupedColumnsList.Add(groupedColumn);

        for (int rowHandle = -1; gridView.IsValidRowHandle(rowHandle); rowHandle--)
        {
            WriteString(gridView.GetGroupRowDisplayText(rowHandle) + "\r\n");

            if (gridView.GetChildRowHandle(rowHandle, 0) > -1)

                for (int childRowHandle = 0; childRowHandle < gridView.GetChildRowCount(rowHandle); childRowHandle++)
                {
                    WriteString("-- ");
                    foreach (GridColumn gc in gridView.Columns)
                    {
                        if (groupedColumnsList.Contains(gc)) continue;
                        WriteString(String.Format("{0} ", gridView.GetRowCellDisplayText(gridView.GetChildRowHandle(rowHandle, childRowHandle), gc)));
                    }
                    WriteString("\r\n");
                }
        }
    }
}