2016-04-14 53 views
0

我想基本上去这是行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); 

     } 

Instead of having BookingID I want to replace it with Booking number which will use row numbers.

+0

什么是你面临的问题是什么呢? –

+0

没有错误,我只是不知道如何添加此功能。我希望能够计算行号并将其替换为BookingID或将其添加为新列。 –

+0

我只是不确定我是否理解这个问题。你想在表中为同一个表中的每一行创建一个列? (在你的上面的例子中,将添加8个新列) –

回答

3

下面的代码将新增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++; 
} 
+0

谢谢你的帮助:)有一个小问题,如果我添加它在表的开始只是空白,但如果我添加它在最后它不是空白,我认为这是由于表尚未加载。 –

+1

您可以在将其他列添加到表格之前添加该列。但是,除非将所有数据(行)添加到表中,否则不要填充该列。这里有两个步骤:1.在表格中创建列。 2.将数据放入该列中的行中。这两步不一定要同时发生。 – Stewbob

+0

再次感谢您!一切都按照我现在想要的方式工作。 –

1

试用总行,

 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); 
      } 
相关问题