我想动态地向动态GridView添加一个复选框以及一个Event。
即。对于网格,我必须根据数据库添加动态选中或取消选中的复选框。通过单击复选框本身,我想更新数据库。
为此,我需要动态加载事件以及复选框。
我完成的是静态版本,并在此处展出:
在数据库RoleID(管理员,采购官等)中,存储ActivityID(离开应用程序等)和OperationID(保存,编辑等)。
第一行暗示Admin(roleid 1)允许活动离开应用程序(Activityid 3)保存操作(OperationID 1)。
答案 0 :(得分:6)
对不起, 按照这个
在gridview中放置一个复选框
这是一个例子 HTML代码在gridview中声明一个复选框
<asp:TemplateField HeaderText="chkbox">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true"
oncheckedchanged="CheckBox1_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
现在关于复选框的事件
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
GridViewRow row = ((GridViewRow)((CheckBox)sender).NamingContainer);
int index = row.RowIndex;
CheckBox cb1 = (CheckBox)Gridview.Rows[index].FindControl("CheckBox1");
string checkboxstatus;
if (cb1.Checked == true)
checkboxstatus = "YES";
else if(cb1.Checked == false)
checkboxstatus = "NO";
//Here Write the code to connect to your database and update the status by
//sending the checkboxstatus as variable and update in the database.
}
答案 1 :(得分:4)
如果要在运行时添加复选框,则在添加复选框时,需要定义复选框事件。
例如:
TableCell tcCheckCell = new TableCell();
var checkBox = new CheckBox();
checkBox.CheckedChanged += checkBox_CheckedChanged;
tcCheckCell.Controls.Add(checkBox);
gridView.Rows[0].Cells.AddAt(0, tcCheckCell);
void checkBox_CheckedChanged(object sender, EventArgs e)
{
//do something: You can use Krishna Thota's Code.
}