2017-02-21 4 views
0

Ниже функция устанавливает только одну начальную строку.Устанавливает более одной начальной строки в datatable

Как я могу сделать 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

йо u также может устанавливать значения по умолчанию для столбцов – Ankit

Смежные вопросы