2017-02-21 4 views
0

以下の関数は、初期行を1つだけ設定します。データテーブルに複数の初期行を設定する

たとえば、最初の行を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); 
} 

これは、あなたのdtオブジェクトにあなたに10行を与え、そしてループのインデックス+ 1にSr.No値を代入します、すなわち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

関連する問題