Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将文本框中的数据放入网格的空行中_C#_Asp.net - Fatal编程技术网

C# 如何将文本框中的数据放入网格的空行中

C# 如何将文本框中的数据放入网格的空行中,c#,asp.net,C#,Asp.net,我想在asp.net的gridview中显示16个空行。我在网格外有一个按钮和文本框,单击一个按钮,我必须将文本框中的数据插入网格,但问题是,数据插入到16行之后。如何首先在空行中插入数据。? 我将数据源绑定为null,但网格不可见,因此我在pageload事件中创建了行 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) {

我想在asp.net的gridview中显示16个空行。我在网格外有一个按钮和文本框,单击一个按钮,我必须将文本框中的数据插入网格,但问题是,数据插入到16行之后。如何首先在空行中插入数据。? 我将数据源绑定为null,但网格不可见,因此我在pageload事件中创建了行

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               DataTable dtSource = new DataTable();
                    dtSource.Columns.Add("DateTime");
                    dtSource.Columns.Add("Detail");
                    dtSource.Columns.Add("Status");
                    dtSource.Columns.Add("Cancel");
                   for (int i = 0; i <= 15; i++)
                     {
                       dtSource.Rows.Add("", " ", " ", " ");
                     }
                    ViewState["dtSource"] = dtSource;
                    gridItem.DataSource = dtSource;
                    gridItem.DataBind();

            }
        }

这是因为您正在创建一个新行并添加它,如下所示

DataRow dr = dtSource.NewRow();
添加这16行没有意义。你应该做像这样的事情

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               DataTable dtSource = new DataTable();
                    dtSource.Columns.Add("DateTime");
                    dtSource.Columns.Add("Detail");
                    dtSource.Columns.Add("Status");
                    dtSource.Columns.Add("Cancel");
                    ViewState["dtSource"] = dtSource;
                    gridItem.DataSource = dtSource;
                    gridItem.DataBind();

            }
        }


protected void btnAdd(object sender, EventArgs e)
        {
            DataTable dtSource = ViewState["dtSource"] as DataTable;          
            DataRow dr = dtSource.NewRow();
            dtSource.Rows.Add(DateTime.Now, itemDetail, "", "");
            gridItem.DataSource = dtSource;
            gridItem.DataBind();
            ViewState["dtSource"] = dtSource;
        }

但需要显示空行。请你给我一些其他的想法来展示这一空排好吗。如果我使用你的pageload代码,那么我的网格是隐藏的。
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               DataTable dtSource = new DataTable();
                    dtSource.Columns.Add("DateTime");
                    dtSource.Columns.Add("Detail");
                    dtSource.Columns.Add("Status");
                    dtSource.Columns.Add("Cancel");
                    ViewState["dtSource"] = dtSource;
                    gridItem.DataSource = dtSource;
                    gridItem.DataBind();

            }
        }


protected void btnAdd(object sender, EventArgs e)
        {
            DataTable dtSource = ViewState["dtSource"] as DataTable;          
            DataRow dr = dtSource.NewRow();
            dtSource.Rows.Add(DateTime.Now, itemDetail, "", "");
            gridItem.DataSource = dtSource;
            gridItem.DataBind();
            ViewState["dtSource"] = dtSource;
        }