在每个按钮单击时递归填充文本框和下拉列表值的网格视图

时间:2014-02-18 12:57:49

标签: c# asp.net

我想在按钮点击时递归填充网格视图,文本框和下拉列表值。目前它只绑定一次。我是ASP.NET新手.Help将受到高度赞赏

     protected void btnAdd_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataRow dr;
        dt.Columns.Add("Resource");
        dt.Columns.Add("available");

        for (int intCnt = 0; intCnt < grd.Rows.Count - 1; intCnt++)
        {
            if (grd.Rows[intCnt].RowType == DataControlRowType.DataRow)
            {

                dr = dt.NewRow();
                dr["Resource"] = grd.Rows[intCnt].Cells[0];
                dr["available"] = grd.Rows[intCnt].Cells[1];

                dt.Rows.Add(dr);
            }
        }
        dr = dt.NewRow();
        dr["Resource"] = ddlResource.SelectedItem.Text;
        dr["available"] = txtavailable.Text;
        dt.Rows.Add(dr);
        grd.DataSource = dt;
        grd.DataBind();
    }

2 个答案:

答案 0 :(得分:1)

请尝试这个希望它会有所帮助

protected void btnAdd_Click(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    DataRow dr;
    dt.Columns.Add("Resource");
    dt.Columns.Add("available");

    foreach(GridViewRow row in grd.Rows)
    {
        dr = dt.NewRow();
        dr["Resource"] = row.Cells[0].Text;
        dr["available"] =row.Cells[1].Text;
        dt.Rows.Add(dr);
    }
    dr = dt.NewRow(); 
    dr["Resource"] = ddlResource.SelectedItem.Text;
    dr["available"] = txtavailable.Text;
    dt.Rows.Add(dr);
    grd.DataSource = dt;
    grd.DataBind();
}

答案 1 :(得分:1)

使用以下代码:

protected void btnAdd_Click(object sender, EventArgs e)
 {
 DataTable dt = new DataTable();
    dt = defineColumn();
    DataRow dr;
    foreach (GridViewRow grow in grdChMedicine.Rows)
    {
        dr = dt.NewRow();
        dr["Diagnosis"] = grow.Cells[1].Text;
        dr["DiagnosisId"] = grow.Cells[2].Text;
        dt.Rows.Add(dr);
    }
    dr = dt.NewRow();

    dr["Diagnosis"] = ddldiagnosis.SelectedItem.ToString();
    dr["DiagnosisId"] = ddldiagnosis.SelectedValue;
    dt.Rows.Add(dr);

    ViewState["ChMedicine"] = dt;
    grdChMedicine.DataSource = dt;
    grdChMedicine.DataBind();

   }


private DataTable defineColumn()
{
    DataTable dt = new DataTable();

    dc = new DataColumn("Diagnosis");
    dt.Columns.Add(dc);

    dc = new DataColumn("DiagnosisId");
    dt.Columns.Add(dc);

    return dt;
}
相关问题