如何添加动作按钮,如编辑和删除到动态网格视图
本文关键字:编辑 删除 视图 网格 动态 按钮 何添加 添加 | 更新日期: 2023-09-27 18:02:13
我添加了一个动态生成的GridView。我从DB取行,并将其加载到数据表。我想添加编辑和删除按钮到这个数据表,并将其绑定到GridView,这样我就可以编辑和删除GridView的内容。GridView生成了不止一次,并且在循环中调用,因为它需要生成周的时间表。下面是绑定数据和生成GridView的源代码:
protected void BindData(string str)
{
string[] startdate = getdate(str);
int firstdate = Convert.ToInt32(startdate[1]);
int lastdate = firstdate + 7;
string enddate = startdate[0]+"/"+Convert.ToString(lastdate)+"/"+startdate[2];
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT DISTINCT CONVERT (varchar(25), Cale_WeekDate,106) AS 'Date',Cale_DayName AS 'Day',Cale_Task8 AS '08:00 AM',Cale_Task9 AS '09:00 AM',Cale_Task10 AS '10:00 AM',Cale_Task11 AS '11:00 AM',Cale_Task12 AS '12:00 PM',Cale_Task13 AS '1:00 PM' FROM Calendar WHERE Cale_WeekDate BETWEEN '"+str+"' AND '"+enddate+"'", conn);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
GridView gvTimeSheet = new GridView();
//gvTimeSheet.ID = "gvTimeSheet" + gridcount;
gvTimeSheet.AutoGenerateColumns = false;
dt = ds.Tables[0];
for (int i = 0; i < dt.Columns.Count; i++)
{
BoundField boundfield = new BoundField();
boundfield.DataField = dt.Columns[i].ColumnName.ToString();
boundfield.HeaderText = dt.Columns[i].ColumnName.ToString();
gvTimeSheet.Columns.Add(boundfield);
}
gvTimeSheet.DataSource = dt;
gvTimeSheet.DataBind();
gvTimeSheet.Width = 600;
gvTimeSheet.HeaderStyle.CssClass = "header";
gvTimeSheet.RowStyle.CssClass = "rowstyle";
Panel1.Controls.Add(gvTimeSheet);
HtmlGenericControl linebreak = new HtmlGenericControl("br");
Panel1.Controls.Add(linebreak);
}
在asp.net中我们可以这样做:
<asp:GridView>
<Columns>
<asp:TemplateField HeaderText="Test">
<ItemTemplate>
<asp:Button ID="btnTest" CommandArgument='btnTest' runat="server" Text="Test et" OnClick="btnTest_Click" />
<asp:Button ID="btnVerify" CommandArgument='btnVerify' runat="server" Text="Verify" OnClick="btnVerify_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码端:
protected void btnTest_Click(object sender, EventArgs e)
{
}
protected void btnVerify_Click(object sender, EventArgs e)
{
}
也可以在运行时添加按钮作为列
取最大列数,假设您有3个数据绑定列(i=3),在位置(i+1=4)添加用于编辑的模板列,在位置(i+1=5)添加用于删除的模板列。