簡體   English   中英

在數據表中設置多個初始行

[英]Set More than one Initial row in 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();
}

這可能是嗎?

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);
}

您可以在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行,並將Sr.No值分配給循環的索引+ 1,即1,2 ... 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)));

        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();
    }

這也可以是選擇

  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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM