我的一个页面中有DataGrid,怎么在DataGrid前面添加一个checkbox,再添加一个删除按钮
我想点Button时可以删除CheckBox选中的所有项,
希望大家讲的详细一点,最好有例子

解决方案 »

  1.   

    前面加一个模板列,放CheckBox.下面放个按钮,点击的时候对DataGrid.Items做遍历(记得把ItemIndex=-1的去掉),然后删除.有什么问题么?
      

  2.   

    to syeerzy 
    能发个例子给我嘛
      

  3.   

    就是判断你的Grid得一个主键列,然后看那个被选中了,如果被选中了就循环删除被选中的纪录根据绑定的那个主键列来实现删除
      

  4.   

    foreach(DataGridItem item  in this.DataGrid1.Items)
    {
                    HtmlInputCheckBox checkBox = (HtmlInputCheckBox)item.FindControl("checkBox ");
                    if (checkBox.Checked == true)
                    {
                        int index = item.ItemIndex;
                        //你的删除操作
                     }
      }
      

  5.   

    1、首先,在DataGird中添加一个模板列,然后在模板列中添加CheckBox和文本框(文本框用于保存记录ID,需要设置DataGrid的DatakeyFiled属性),就像这样:
    <ItemTemplate>
      <asp:CheckBox id="chkBox" runat="server"></asp:CheckBox>
    <asp:TextBox id="chk_Value" runat="server" Columns="2" Visible="False"></asp:TextBox>
    </ItemTemplate>
    2、添加服务器端按钮,用于将所选项全部删除,按钮的单击事件可以这样写:
    StringBuilder XB=new StringBuilder();
    TextBox tb;
    CheckBox cb;
    for(int i=0;i<dg.Items.Count;i++)
    {
      cb=(CheckBox)dg.Items[i].Cells[0].FindControl("chkBox");
      if(cb.Checked==true)
      {
        tb=(TextBox)dg.Items[i].Cells[0].FindControl("chk_Value");
        XB.Append(tb.Text+",");
       }
    }
    string allid=XB.ToString();
    到这步,所有要删除记录的ID已经条部获取(存储在allid变量中),楼主知道该怎么办了吧!
    需要注意的是,一定要确保文本框已经获取了记录的ID号,可以在DataGrid的ItemCreated事件中设置文本框所包含的记录ID号。
      

  6.   

    to changkongyimen() :
    可以发一个例子给我嘛,我的E_mail:[email protected]