• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例

    首现我们拖入一个DataGridView控件到.aspx页面中,然后绑定你需要显示的列,具体代码如下。

    复制代码 代码如下:

     asp:GridView ID="gvDepartList" runat="server" AutoGenerateColumns="False"
             Height="108px" Width="600px"  OnRowDeleting="gvDepartList_RowDeleting" RowDataBound="gvDepartList_RowDataRound">
             Columns> 
             asp:TemplateField HeaderText="部门名称" >
                 ItemTemplate>
                       asp:Label runat="server" style="text-align:center" Text='%#  Eval("DepartName") %>'   />
                 /ItemTemplate>
             /asp:TemplateField>

                 asp:BoundField HeaderText="机构"   DataField="BranchId" />
                 asp:BoundField HeaderText="负责人" DataField="PrincipalUser" />
                 asp:BoundField HeaderText="联系电话" DataField="ConnectTelNo" />
                 asp:BoundField HeaderText="移动电话" DataField="ConnectMobileTelNo"/>
                 asp:BoundField HeaderText="传真" DataField="Faxes" />
                 asp:TemplateField HeaderText="修改">
                     ItemTemplate>
                           asp:ImageButton ID="ImageButton1" ImageUrl="../images/edit.gif" CommandArgument='%#Eval("DepartId") %>' CommandName="delete" runat="server" />
                     /ItemTemplate>
                 /asp:TemplateField>
                asp:TemplateField HeaderText="删除">
                     ItemTemplate>
                         asp:ImageButton ImageUrl="../images/delete.gif" CommandArgument='%#Eval("DepartId") %>' CommandName="delete" runat="server" />
                     /ItemTemplate>
                 /asp:TemplateField>
             /Columns>
         /asp:GridView>

    二:在这个.aspx页面后台的Page_load事件中绑定数据。

    复制代码 代码如下:

    protected void Page_Load(object sender, EventArgs e)
           {
               if (!IsPostBack)
               {
                  gvDepartList.DataSource= new DepartInfoManager().GetDepartInfos(-1);
                  gvDepartList.DataBind();
               }
           }

    如果我们想添加一个DataGridView的光棒效果,就是每一行鼠标悬浮上去变动背景色啦。

    复制代码 代码如下:

    /// summary>
     /// 动态注册脚本(在GridView控件呈现之前) 光棒效果
     /// /summary>
     /// param name="sender">/param>
     /// param name="e">/param>
     protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
     {
         //此处判断只有在数据行在进行脚本注册
         if (e.Row.RowType == DataControlRowType.DataRow)
         {
             //光棒效果
               e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");
             e.Row.Attributes.Add("onmouseout ", "this.style.backgroundColor=currentcolor");

             LinkButton lnkbtnDel = e.Row.FindControl("lnkbtnDel") as LinkButton;
             lnkbtnDel.Attributes.Add("onclick", "return confirm('确定删除吗?')");
         }
     }

     现在重点来了,怎么一行的数据呢?既然是删除,我们肯定是要根据一条数据的ID来删除了,那么我们在Page_load方法中加入一段代码:
     gvDepartList.DataKeyNames = new string[] { "id"};//这个代码是什么意思呢,就是每一行设置一个键,这个键就是用来操作数据的。
    现在我们用另外一种方法删除,看到页面中的倒数第二列,没错,是一个ImageButtom控件,这个控件是放了一个删除按钮的小图标,CommandArgument是干什么的呢?CommandName又是干什么的呢?CommandArgument就是指定我们要操作的参数,CommandName就是指令这个按钮是要干什么?这里用到的是删除,我们写上Delete。

    复制代码 代码如下:

    asp:TemplateField HeaderText="删除">
                    ItemTemplate>
                         asp:ImageButton ImageUrl="../images/delete.gif" CommandArgument='%#Eval("DepartId") %>' CommandName="delete" runat="server" />
                    /ItemTemplate>
                 /asp:TemplateField>

    接下来就是后台操作代码了,可以看到这个DataGridView绑定了一个OnRowDeleting事件,这个事件就是用来删除的。
    然后我们在这个事件写上这样的代码。

    复制代码 代码如下:

    /// summary>
            /// 删除选中的行
            /// /summary>
            /// param name="sender">/param>
            /// param name="e">/param>
            protected void gvDepartList_RowDeleting(object sender, GridViewDeleteEventArgs e)
            {
                ImageButton buttom = gvDepartList.Rows[e.RowIndex].FindControl("btnDelete") as ImageButton;
                string departId = buttom.CommandArgument.ToString();
                if (manage.DeleteDepart(departId))
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "script>alert('删除成功!');/script>");
                    BindDepartInfos();//重新绑定数据
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "script>alert('删除失败!');/script>");
                }

            }

    为了更好的用户体验,我们可以不使用这个Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "script>alert('删除成功!');/script>");
    可以选择在页面中显眼的地方放一个label控件,设计Visible=false;隐藏它,然后删除成功后,利用这个Label控件来提示用户,删除成功!

    您可能感兴趣的文章:
    • asp.net小孔子cms中的数据添加修改
    • asp.net连接数据库 增加,修改,删除,查询代码
    • asp.net 删除,更新数据库方法
    • asp.net 不用GridView自带删除功能,删除一行数据
    • ASP.NET Mvc开发之删除修改数据
    上一篇:.net实现微信公众账号接口开发实例代码
    下一篇:asp.net导出Excel类库代码分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例 ASP.NET,中的,DataGridView,绑定,