zoukankan      html  css  js  c++  java
  • [Asp.Net+C#]Datagrid使用技巧四(怎样控制在一个单元格中放置多个操作按钮及删除数据)

    一、aspx的部分代码;
          <asp:datagrid id="MyDataGrid" runat="server" Width="100%" Font-Names="Verdana" BorderColor="Black"
           BorderWidth="1px" CellPadding="3" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd"
           AlternatingItemStyle-BackColor="#eeeeee" HorizontalAlign="Center" AutoGenerateColumns="False">
           <AlternatingItemStyle BackColor="#F7FBFF"></AlternatingItemStyle>
           <HeaderStyle Font-Bold="True" HorizontalAlign="Center" BackColor="#99CCFF"></HeaderStyle>
           <Columns>
            <asp:BoundColumn DataField="TempSemester" HeaderText="学期">
             <HeaderStyle Width="25%"></HeaderStyle>
            </asp:BoundColumn>
            <asp:BoundColumn DataField="ExamDate" HeaderText="考试时间">
             <HeaderStyle Width="25%"></HeaderStyle>
            </asp:BoundColumn>
            <asp:BoundColumn DataField="examname" HeaderText="考次">
             <HeaderStyle Width="35%"></HeaderStyle>
            </asp:BoundColumn>
            <ASP:BoundColumn HEADERTEXT="操作">
             <ITEMSTYLE HORIZONTALALIGN="Center" WIDTH="15%"></ITEMSTYLE>
            </ASP:BoundColumn>
            <ASP:HYPERLINKCOLUMN VISIBLE="False" TEXT="&lt;img src=&quot;../../images/modi.gif&quot; border=&quot;0&quot; alt=&quot;修改&quot;&gt;"
             DATANAVIGATEURLFIELD="ExamNameID" DATANAVIGATEURLFORMATSTRING="javascript:newwin('ModiExamset.aspx?ExamNameID={0}')"
             HEADERTEXT="编辑"></ASP:HYPERLINKCOLUMN>
            <ASP:BUTTONCOLUMN VISIBLE="False" TEXT="&lt;img src=&quot;../../images/del.gif&quot; border=&quot;0&quot; alt=&quot;删除&quot; onClick=&quot;return confirm('确实要删除此通讯录信息吗?');&quot;&gt;"
             HEADERTEXT="删除" COMMANDNAME="Delete"></ASP:BUTTONCOLUMN>
            <ASP:BoundColumn Visible="False" DataField="ExamNameID">
             <ITEMSTYLE HORIZONTALALIGN="Center"></ITEMSTYLE>
            </ASP:BoundColumn>
            <ASP:BoundColumn Visible="False" DataField="ExamType">
             <ITEMSTYLE HORIZONTALALIGN="Center"></ITEMSTYLE>
            </ASP:BoundColumn>
           </Columns>
          </asp:datagrid>
    二、调用的事件;
       this.MyDataGrid.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_DeleteCommand);
       this.MyDataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.MyDataGrid_ItemDataBound);
    三、控制单元格内的多个按钮
      private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
      {
       if(e.Item.ItemIndex>=0){
        if(e.Item.Cells[7].Text.Trim()=="C"){
         TableCell optd=(TableCell)e.Item.Controls[3];
         //弹出式编辑
         TableCell opEdit=(TableCell)e.Item.Controls[4];
         optd.Controls.Add(opEdit.Controls[0]);
         //删除按钮
         TableCell opDel=(TableCell)e.Item.Controls[5];
         optd.Controls.Add(opDel.Controls[0]);     
        }
       }
      }
    四、当点击删除是执行;
      private void MyDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
      {
       string ExamNameID=e.Item.Cells[6].Text.Trim();
       string strSQL="delete ExamSubject where examnameid=" + ExamNameID;
       strSQL+=";";
       strSQL+="delete examname where examnameid=" + ExamNameID;
       if(db.InsertMoreDB(strSQL))
       {
        Response.Write(js.InforError("考次删除成功!"));
       }
       else{
        Response.Write(js.InforErrorBack("老师您好!由于该考 次的成绩已录入不能删除,如确需删除该考次,请先删除该考次的成绩。谢谢!"));
       }
       ExamInit();
      }

  • 相关阅读:
    java处理高并发高负载类网站的优化方法
    谈谈Memcached与Redis
    php中const与define的使用区别 详解
    ecshop添加模板与库文件
    ECShop 2.5.1 的结构图及各文件相应功能介绍
    Uva10972(RevolC FaeLoN)
    交叉染色法判断二分图
    边双联通问题求解(构造边双连通图)POJ3352(Road Construction)
    POI1999(仓库管理员)
    ZOJ1311(Network)
  • 原文地址:https://www.cnblogs.com/JimZhang/p/226593.html
Copyright © 2011-2022 走看看