2012-03-02 85 views
2

我想动态地添加复选框到动态GridView和一个事件。添加带有CheckedChanged事件的复选框到动态GridView

即对于网格,我必须根据数据库动态选中或取消选中复选框。通过点击复选框本身,我想更新数据库。

为此,我需要将事件与复选框一起动态加载。

我已经完成了一个静态的版本,在这里展出:

在数据库角色ID(管理员,采购总监等),ActivityID(离开应用程序等)和OperationID(保存,编辑等)存储。

第一行暗示用于Admin(roleid 1)保存操作(OperationID 1)允许用于活动Leave application(Activityid 3)。

回答

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. 
    } 
+0

高级..这是一个很好的解决方案..非常感谢你为你的宝贵时刻.. – 2012-03-03 05:50:59

+0

Hai高级...我遇到了你提出的另一个问题.. ij st试图设置autopostback = true复选框.. bt我ddin't工作。 事件不会触发,点击时复选框会被清除..怎么办..请帮助我..其非常紧急.. – 2012-03-06 12:32:53

+0

您需要在OnPreRender中完成。 保护覆盖无效OnPreRender(EventArgs e){//您的代码} – sinanakyazici 2012-03-06 13:23:04

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. 
} 
+0

可以请你让它更具体一点..即是增加复选框在runtime..is可以添加事件与它艺龙..即的CheckedChanged事件..或者这样像cellMouseClick事件的窗户.. – 2012-03-02 06:08:35

+0

高级我管理它..我只是在PreRender事件嵌入事件选定的IdexChanged ...但动态添加的CheckedChanged事件不会被解雇,甚至在点击复选框后其状态不会改变.. – 2012-03-07 05:33:01