【问题标题】:Counting rows on a datagrid and adding it as a new column计算数据网格上的行并将其添加为新列
【发布时间】:2016-08-06 05:10:26
【问题描述】:

我想基本上是第 1 行、第 2 行、第 3 行、第 4 行......直到最后一行并将其作为新列添加到我的 datagrid 表中,我不想找到总行数。

这是我当前的代码(我认为这是非常错误的,但这是很多新代码):

for (int i = 0; i < table.Rows.Count; i++)
        {

            string rowNum = table.Rows[i].ToString();
            table.Columns.Add("Book num", typeof(string), rowNum);

        }

【问题讨论】:

  • 您面临的具体问题是什么?
  • 没有错误,我只是想不出如何添加这个功能。我希望能够计算行号并将其替换为 BookingID 或将其添加为新列。
  • 我只是不确定我是否理解问题所在。您想为同一个表中的每一行在表中创建一个列吗? (在上面的示例中,将添加 8 个新列)
  • 我猜你想添加一个显示行号的列?对吗?
  • 我明白你为什么这么认为,我是如何编写代码的,我只想添加一个单独的列来跟踪行号。

标签: c# mysql sql wpf datagrid


【解决方案1】:

以下代码将向您的表中添加 1 个新列,然后使用该行的索引号填充该列中的每一行。

如果您不想以0开头,只需将int i = 0;更改为int i = 1;

table.Columns.Add("Book num", typeof(string));
int i = 0;
foreach (DataRow dr in table.Rows)
{
  dr["Book num"] = i;
  i++;
}

【讨论】:

  • 感谢您的帮助 :) 有一个小问题,如果我在表格的开头添加它只是空白,但如果我在最后添加它不是空白,我想这是由于表尚未加载。
  • 您可以先添加列,然后再将其他列添加到表中。但在将所有数据(行)添加到表中之前,不要填充该列。这里有两个步骤: 1. 在表中创建列。 2. 将数据放入该列的行中。这两个步骤不必同时发生。
  • 再次感谢您!现在一切都按照我想要的方式进行。
【解决方案2】:

尝试总行数,

     int TotalRows = 0;
     for (int i = 0; i < table.Rows.Count; i++)
        {
            if(i == 0)
            {
              TotalRows = 1;
            }
             else
             {
               TotalRows + = i;  
             }        
            string rowNum = table.Rows[i].ToString();
            table.Columns.Add("Book num", typeof(string), rowNum);
           }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 2016-01-20
    • 1970-01-01
    • 2016-05-22
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多