DataGrid批量更新/删除

/// <summary>
  /// 加载数据绑定DataGrid1
  /// </summary>
  /// <param name="e"></param>
  protected override void OnPreRender(EventArgs e)
  {
   InitData();
   base.OnPreRender (e);
  }
  /// <summary>
  /// DataGrid1_ItemDataBound事件DataGrid1加载数据最开始的事件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   //ID自动增长1
   if   (e.Item.ItemType   ==   ListItemType.Item   ||   e.Item.ItemType   ==   ListItemType.AlternatingItem)  
   {  
    int   num   =   e.Item.ItemIndex   +   1;  
    e.Item.Cells[0].Text   =   num.ToString();  
   }
  }
  /// <summary>
  /// Button按钮事件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void Button1_Click(object sender, System.EventArgs e)
  {
   string MySQL="";
   //获取选中数据的Code
   string SelectID = GetSelectedDataID();
   //判断SelectID值是否为空
   if (SelectID!="")
   {
    //用一个数组接受已经选中的SelectID,在分割";"数组
    string []ID = SelectID.Split(Convert.ToChar(";"));
    //偏历ID数组里面的所有Code
    for (int i=0;i<ID.Length;i++)
    {
     //累加到SQL语句的WHERE条件里面去
     if (SQL=="")
     {
      MySQL += " MQAID='"+ID[i].Trim()+"'";
     }
     else
     {
      MySQL += " or MQAID='"+ID[i].Trim()+"'";
     }
     //最后获取的就是MySQL = (WHERE MQAID = 1 or MQAID =2 or MQAID=3)
     //在把MySQL当作一个变量
     //SQL="SELECT * FROM DateTimes WHERE MQAID = 1 or MQAID =2 or MQAID=3"
     try
     {
       //批量更新或责批量删除了
     }
     catch (System.Exception e)
     {
      
     }
    
    }
   }
  }
  /// <summary>
  /// GetSelectedDataID()方法是循环读取DataGrid1模板列中你所构选的数据
  /// </summary>
  /// <returns></returns>
  public string  GetSelectedDataID()
  {
   string returnstring="";
   int  i = 0;
   int dgcount = DataGrid1.Items.Count;
   for (i=0;i<dgcount;i++)
   {
    //获取DataGrid1模板列中CheckBox的属性
    CheckBox CB = (CheckBox)DataGrid1.Items[i].FindControl("chkIsFAQ");//"chkIsFAQ"是CheckBox的ID
    //判断CheckBox是否被选中如果被构选为True未被构选为False
    if (CB.Checked==true)
    {
     //第一次加载为获取returnstring的值,(比如获取的值为1)
     if (returnstring=="")
     {
      returnstring =DataGrid1.Items[i].Cells[0].Text.Trim();
     }
     //如果构选的多项数据就会用循环用";"隔开(1;2;3;4)
     else
     {
      returnstring +=";"+DataGrid1.Items[i].Cells[0].Text.Trim();
     }
    }
   }
   //返回你所构选数据列的ID值
   return returnstring;

  }

***************************HTML*******************************

JS脚本
<script language="javascript">
   function allCheck()
   {
   for (var i=0;i<Form1.elements.length;i++)
   {
   var e=Form1.elements[i];
   if (e.type=='checkbox')
   e.checked=true;
   }
   }
   function revCheck()
   {
   for (var i=0;i<Form1.elements.length;i++)
   {
   var e=Form1.elements[i];
   if (e.type=='checkbox')
   e.checked=!e.checked;
   }
   }

  </script>

///
///datagrid配置
///

<asp:datagrid id="DataGrid1" runat="server" AllowPaging="True" Width="768px" AutoGenerateColumns="False">
        <Columns>
         <asp:BoundColumn HeaderText="序号"></asp:BoundColumn>
         <asp:BoundColumn DataField="ID" HeaderText="ID"></asp:BoundColumn>
         <asp:BoundColumn DataField="Code" HeaderText="Code"></asp:BoundColumn>
         <asp:BoundColumn DataField="EnglishDesc" HeaderText="EnglishDesc"></asp:BoundColumn>
         <asp:BoundColumn DataField="ChineseDesc" HeaderText="ChineseDesc"></asp:BoundColumn>
         <asp:BoundColumn DataField="Parameter" HeaderText="Parameter"></asp:BoundColumn>
         <asp:BoundColumn DataField="Status" HeaderText="Status"></asp:BoundColumn>
         <asp:BoundColumn DataField="Remark" HeaderText="Remark"></asp:BoundColumn>
         <asp:TemplateColumn headertext="名称">
          <itemtemplate>
           <asp:Label id="Label1" runat="server">
            <%#DataBinder.Eval(Container.DataItem,"EnglishDesc")%>
           </asp:Label>-----
           <asp:Label id="Label2" runat="server">
            <%#DataBinder.Eval(Container.DataItem,"ChineseDesc")%>
           </asp:Label>
          </itemtemplate>
         </asp:TemplateColumn>
         <asp:TemplateColumn>
          <ItemStyle Wrap="False" Width="10%"></ItemStyle>
          <HeaderTemplate>
           <A class="" id="btnSelectAll" href="javascript:allCheck()">全选 </A><A class="" id="btnSelectNull" href="javascript:revCheck()">
            反选 </A>
          </HeaderTemplate>
          <ItemTemplate>
           <DIV align="center">
            <asp:CheckBox id="chkIsFAQ" Runat="server"></asp:CheckBox></DIV>
          </ItemTemplate>
         </asp:TemplateColumn>
        </Columns>
        <PagerStyle Visible="False"></PagerStyle>
       </asp:datagrid>

posted @ 2008-11-26 18:03  尘满布衣  阅读(606)  评论(0)    收藏  举报