2017-02-21 24 views
0

下面的函数只设置一个初始行。在数据表中设置多个初始行

我怎么能做10个最初的行,例如。

有什么建议吗?

功能

private void SetInitialRow() 
{ 
    DataTable dt = new DataTable(); 
    DataRow dr = null; 
    dt.Columns.Add(new DataColumn("Sr.No", typeof(string))); 
    dt.Columns.Add(new DataColumn("Column1", typeof(string))); 
    dt.Columns.Add(new DataColumn("Column2", typeof(string))); 
    dt.Columns.Add(new DataColumn("Column3", typeof(string))); 
    dt.Columns.Add(new DataColumn("Column4", typeof(string))); 

    dr = dt.NewRow(); 


    dr["Sr.No"] = 1; 
    dr["Column1"] = string.Empty; 
    dr["Column2"] = string.Empty; 
    dr["Column3"] = string.Empty; 
    dr["Column4"] = string.Empty; 

    dt.Rows.Add(dr); 
    //Store the DataTable in ViewState 
    ViewState["CurrentTable"] = dt; 

    griditem.DataSource = dt; 
    griditem.DataBind(); 
} 

回答

0

试试这个..

private void SetInitialRow() 
    { 
     DataTable dt = new DataTable(); 
     DataRow dr = null; 
     dt.Columns.Add(new DataColumn("Sr.No", typeof(string))); 
     dt.Columns.Add(new DataColumn("Column1", typeof(string))); 
     dt.Columns.Add(new DataColumn("Column2", typeof(string))); 
     dt.Columns.Add(new DataColumn("Column3", typeof(string))); 
     dt.Columns.Add(new DataColumn("Column4", typeof(string))); 

     for (int i = 0; i < 10; i++) 
     { 
      dr = dt.NewRow(); 
      dr["Sr.No"] = (i +1); 
      dr["Column1"] = string.Empty; 
      dr["Column2"] = string.Empty; 
      dr["Column3"] = string.Empty; 
      dr["Column4"] = string.Empty; 
      dt.Rows.Add(dr); 
     } 

     //Store the DataTable in ViewState 
     ViewState["CurrentTable"] = dt; 

     griditem.DataSource = dt; 
     griditem.DataBind(); 
    } 
0

这可能是?

for (int i = 0; i < 10; i++) 
{ 
    DataRow dr = dt.NewRow(); 

    dr["Sr.No"] = i + 1; 
    dr["Column1"] = string.Empty; 
    dr["Column2"] = string.Empty; 
    dr["Column3"] = string.Empty; 
    dr["Column4"] = string.Empty; 

    dt.Rows.Add(dr); 
} 
0

您可以在for循环中创建新行。沿着以下线的东西:

for (var i = 0; i < 10; i++) 
{ 
    dr = dt.NewRow(); 

    dr["Sr.No"] = i + 1; 
    dr["Column1"] = string.Empty; 
    dr["Column2"] = string.Empty; 
    dr["Column3"] = string.Empty; 
    dr["Column4"] = string.Empty; 

    dt.Rows.Add(dr); 
} 

这将然后给你10排在dt对象,而Sr.No值分配给索引+ 1循环的,即1,2,...,10

0

,这也可能成为选项

DataTable dt = new DataTable(); 
    DataRow dr = null; 
    dt.Columns.Add(new DataColumn { AutoIncrement=true,AutoIncrementSeed=1,AutoIncrementStep=1,ColumnName="SrNo",DataType=typeof(int)}); 
    dt.Columns.Add(new DataColumn { ColumnName = "Column1", DataType = typeof(string) }); 
    dt.Columns.Add(new DataColumn { ColumnName = "Column2", DataType = typeof(string) }); 
    dt.Columns.Add(new DataColumn { ColumnName = "Column3", DataType = typeof(string) }); 
    dt.Columns.Add(new DataColumn { ColumnName = "Column4", DataType = typeof(string) }); 
    for(int i=0;i<10;i++) 
    dt.Rows.Add(dt.NewRow()); 
+0

哟你也可以设置列的默认值 – Ankit