按钮单击时将行附加到Gridview [英] Append rows to Gridview on button click
问题描述
Hello Experts,
我有一个面板,里面有三个texbox和两个下拉菜单。当我点击该面板中的按钮时,它应该将数据添加到下面的网格中。
txt1
txt2
txt3
ddl1
ddl2按钮
按钮单击...将字段添加到下面的网格视图中并清除面板中的texbox允许用户添加更多订单项。
第1行:txt1 txt2 txt3 ddl1 ddl2
第2行:继续
如何实现这一目标?非常感谢你的帮助。
下面给出了一个实现相同的例子。
.aspx的代码页
// ---------------------
< asp:Button runat =serverID =btnAddRowsText =Add New Row
onclick =btnAddRows_Click/>
< asp:GridView runat =serverID =grd1AutoGenerateColumns =false>
< Columns>
< asp:BoundField DataField =COL1HeaderText =col1/>
< asp:BoundField DataField =COL2HeaderText =col2/>
< asp:BoundField DataField =COL3HeaderText =col3/>
< / Columns>
< / asp:GridView>
// ---------------------
.cs页面代码
// - 要指定为数据源的属性
public DataTable GridData
{
get {
if(ViewState [GridData] == null)
{
DataTable dt = new DataTable(的GridData);
dt.Columns.Add(new DataColumn(COL1));
dt.Columns.Add(new DataColumn(COL2));
dt.Columns.Add(new DataColumn(COL3));
dt.Columns.Add(new DataColumn(COL4));
ViewState [GridData] = dt;
返回dt;
}
else
return(DataTable)ViewState [GridData];
}
set {ViewState [GridData] = value; }
}
// - 添加按钮点击事件
protected void btnAddRows_Click(object sender,EventArgs e)
{
DataRow Dr = GridData。 NEWROW();
博士[COL1] =txt1; //我在这里使用了固定数据但你可以使用你的控制值
Dr [COL2] =txt2; //我在这里使用了固定数据但你可以使用你的控制值
博士[COL3] =ddl1; //我在这里使用了固定数据但你可以使用你的控制值
博士[COL4] =ddl2; //我在这里使用了固定数据但你可以使用你的控制值
GridData.Rows.Add(Dr);
BindGrid();
// ---- CLEAR TEXT BOX& DDL低于
}
// - 网格绑定方法需要调用每个动作(添加/删除)
protected void BindGrid()
{
grd1.DataSource = GridData;
grd1.DataBind();
}
// - 第一次网页绑定页面加载
protected void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
BindGrid();
}
}
查看本网站
http ://www.aspsnippets.com/Articles/Add-new-Row-to-GridView-on-Button-Click-in-ASPNet.aspx [ ^ ]
http: //www.aspsnippets.com/Articles/Adding-Dynamic-Rows-in-GridView-with-DropDownLists-in-ASP.Net.aspx [ ^ ]
Hello Experts,
I have a panel where there are three texboxes and two dropdowns. When I click on Button in that panel, it should add the data into a Grid below.
txt1
txt2
txt3
ddl1
ddl2 Button
On Button Click... add the fields into a gridview below and clear texboxes in panel and allow user to add more line items.
1st row: txt1 txt2 txt3 ddl1 ddl2
2nd row : continues
How to achieve this? Your help is much appreciated.
Below given is an example to achive the same.
Code for .aspx Page
//---------------------
<asp:Button runat="server" ID="btnAddRows" Text="Add New Row" onclick="btnAddRows_Click" /> <asp:GridView runat="server" ID="grd1" AutoGenerateColumns="false"> <Columns> <asp:BoundField DataField="COL1" HeaderText="col1" /> <asp:BoundField DataField="COL2" HeaderText="col2"/> <asp:BoundField DataField="COL3" HeaderText="col3"/> </Columns> </asp:GridView>
//---------------------
Code for .cs Page
// -- Property to assign as datasource public DataTable GridData { get { if(ViewState["GridData"]==null) { DataTable dt = new DataTable("GridData"); dt.Columns.Add(new DataColumn("COL1")); dt.Columns.Add(new DataColumn("COL2")); dt.Columns.Add(new DataColumn("COL3")); dt.Columns.Add(new DataColumn("COL4")); ViewState["GridData"] = dt; return dt; } else return (DataTable)ViewState["GridData"]; } set { ViewState["GridData"] = value; } } // -- Add button click event protected void btnAddRows_Click(object sender, EventArgs e) { DataRow Dr = GridData.NewRow(); Dr["COL1"] = "txt1"; // I USED FIXED DATA HERE BUT U CAN USE YOUR CONTROL VALUE Dr["COL2"] = "txt2"; // I USED FIXED DATA HERE BUT U CAN USE YOUR CONTROL VALUE Dr["COL3"] = "ddl1"; // I USED FIXED DATA HERE BUT U CAN USE YOUR CONTROL VALUE Dr["COL4"] = "ddl2"; // I USED FIXED DATA HERE BUT U CAN USE YOUR CONTROL VALUE GridData.Rows.Add(Dr); BindGrid(); // ---- CLEAR TEXT BOX & DDL BELOW } // -- Grid bind method need to call on each action ( add / remove) protected void BindGrid() { grd1.DataSource = GridData; grd1.DataBind(); } // -- first time Grid bind on page load protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { BindGrid(); } }
see this website
http://www.aspsnippets.com/Articles/Add-new-Row-to-GridView-on-Button-Click-in-ASPNet.aspx[^]
http://www.aspsnippets.com/Articles/Adding-Dynamic-Rows-in-GridView-with-DropDownLists-in-ASP.Net.aspx[^]
这篇关于按钮单击时将行附加到Gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!