DataList编辑,更新,删除及模板的使用_新版asp datalist编辑模板_frankgeo的博客-程序员宅基地

技术标签: DOTNET  

DataList 提供相关的编辑模板,但和DataGrid不一样的是,DataList没有编辑按钮。要在DataList中使用编辑功能,可在项模板中增加一个按 钮,Linkbutton和Button都可以。在CommandName中设置为Edit就可以把此按钮和DataList的编辑事件联系起来了。
如:
编辑按钮可以使用CommandName="Edit"
更新按钮可以使用CommandName="Update"
取消按钮可以使用CommandName="Cancel"
删除按钮可以使用CommandName="Delete"
来实现。

---------------------------------------------------------------------

控件设置:

<asp:DataList ID="UserList" DataKeyField="Uid"OnItemCreated="UserList_ItemCreated"OnUpdateCommand="UserList_OnUpdateCommand"OnDeleteCommand="UserList_OnDeleteCommand" runat="server"Width="100%" RepeatColumns="6"OnEditCommand="UserList_OnEditCommand"OnCancelCommand="UserList_OnCancelCommand">
    <HeaderTemplate>
     <table width="100%" border="0"cellpadding="0" cellspacing="0" bgcolor="#E2EEF5">
    <tr>
      <td width="17%"height="25" align="center" bgcolor="#E8F0F7">登陆名称</td>
      <td width="15%"align="center" bgcolor="#E8F0F7">真实姓名</td>
      <td width="17%"align="center" bgcolor="#E8F0F7">所属用户组</td>
      <td width="25%"align="center" bgcolor="#E8F0F7">拥有权限</td>
      <td width="14%"align="center" bgcolor="#E8F0F7">创建时间</td>
      <td width="12%"align="center" bgcolor="#E8F0F7">操作</td>
    </tr>
    </HeaderTemplate>
    <ItemTemplate>
     <tr>
      <td height="25"bgcolor="#FFFFFF"><img src="images/FriendICO.gif"width="15" height="15" style="margin-left:5px;"/>&nbsp;[<%#Eval("Uname")%>]<asp:ImageID="StateICO"ImageUrl='<%#GetUserState(Eval("uState").ToString()) %>'width="12" height="12" runat="server"/></td>
      <td align="center"bgcolor="#FFFFFF"><%#Eval("Rname")%></td>
      <td align="center" bgcolor="#FFFFFF"><%#Eval("UserGroup")%></td>
      <td align="center"bgcolor="#FFFFFF"><%#Eval("Purview")%></td>
      <td align="center"bgcolor="#FFFFFF"><%#Eval("Ctimes","{0:d}")%></td>
      <td align="center"bgcolor="#FFFFFF"><img src="images/Edit_ICOS.gif"width="14" height="15" border="0"align="absmiddle" /><asp:LinkButtonCommandName="Edit"
             ID="Edit_But" ForeColor="#003366"runat="server">编辑</asp:LinkButton>&nbsp;<imgsrc="images/DEL_ICOS.gif" width="14" height="15"border="0" align="absmiddle" /><asp:LinkButtonCommandName="Delete"
             ID="Del_But" ForeColor="#003366" runat="server">删除</asp:LinkButton></td>
    </tr>
    </ItemTemplate>
    <EditItemTemplate>
    <tr>
      <td height="25" bgcolor="#E8F0F7"><imgsrc="images/FriendICO.gif" width="15" height="15"style="margin-left:5px;"/>&nbsp;<%#Eval("Uname")%><asp:CheckBoxID="User_State"Checked='<%#GetBoxState(Eval("uState").ToString().Trim()) %>'runat="server" Text="启用账户" />
      </td>
          <tdalign="center" bgcolor="#E8F0F7"><asp:TextBoxID="User_Rname" runat="server" CssClass="inputX"
                 Text='<%#Eval("Rname")%>'Width="80px"></asp:TextBox>
          </td>
          <tdalign="center" bgcolor="#E8F0F7">
             <asp:DropDownList ID="User_Group" runat="server"CssClass="FontBlue12">
                 <asp:ListItem Value="Guest">来宾组</asp:ListItem>
                 <asp:ListItem Value="Editor">编辑组</asp:ListItem>
                 <asp:ListItem Value="System">系统组</asp:ListItem>
             </asp:DropDownList>
          </td>
          <tdalign="center" bgcolor="#E8F0F7">
             <asp:CheckBoxList ID="User_Priv" runat="server"CssClass="FontBlue12"
                 RepeatDirection="Horizontal">
                 <asp:ListItem Value="r">读</asp:ListItem>
                 <asp:ListItem Value="w">写</asp:ListItem>
                 <asp:ListItem Value="e">编辑</asp:ListItem>
                 <asp:ListItem Value="d">删除</asp:ListItem>
             </asp:CheckBoxList>
          </td>
           <tdalign="center" bgcolor="#E8F0F7"><%#Eval("Ctimes","{0:d}")%></td>
          <td align="center"bgcolor="#E8F0F7">
             <img align="absmiddle" border="0" height="15"src="images/Update_ICOS.gif"
                 width="14" /><asp:LinkButton ID="Update_But"runat="server"
                 CommandName="Update" ForeColor="#003366">更新</asp:LinkButton>&nbsp;<img align="absmiddle"border="0" height="15"src="images/Cancel_ICOS.gif"
                 width="14" /><asp:LinkButton ID="Cancel_But"runat="server"
                 CommandName="Cancel" ForeColor="#003366">取消</asp:LinkButton>
          </td>
      
    </tr>
    </EditItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:DataList>

后台代码:

//取消编辑

protected void UserList_OnCancelCommand(object sender,DataListCommandEventArgs e)
    {
        this.UserList.EditItemIndex = -1;
        GetUserList();
    }

//DataList编辑

   protected void UserList_OnEditCommand(object sender,DataListCommandEventArgs e)
    {
        this.UserList.EditItemIndex =e.Item.ItemIndex;
        GetUserList();
    }

//DataList更新

protected void UserList_OnUpdateCommand(object sender,DataListCommandEventArgs e)
    {
        string id =this.UserList.DataKeys[e.Item.ItemIndex].ToString();
//使用前需先设置DataList的DataKeyField="Uid"        
        string Rname = ((TextBox)e.Item.FindControl("User_Rname")).Text.Trim
();//取得DataList中ID为"User_Rname"的TextBox中的值
       string UserGroup =((DropDownList)e.Item.FindControl("User_Group")).SelectedValue.Trim();
        string UserPurview = "";
        for (int i = 0; i <((CheckBoxList)e.Item.FindControl("User_Priv")).Items.Count; i++)
        {
            if(((CheckBoxList)e.Item.FindControl("User_Priv")).Items[i].Selected ==true)
            {
               UserPurview +=((CheckBoxList)e.Item.FindControl("User_Priv")).Items[i].Value + ",";
            }
       
        }
        if (UserPurview != "")
        {
            UserPurview= UserPurview.Substring(0, UserPurview.Length - 1);
        }
        int usstate = 0;
        if(((CheckBox)e.Item.FindControl("User_State")).Checked == true)
        {
            usstate = 1;
        }
        string sql = "update SystemUserset uState =" + usstate + ",UserGroup='" + UserGroup +"',Rname='" + Rname + "',Purview='" + UserPurview + "'where uid=" + id + "";
        ConnDB db = new ConnDB();
        if (db.EditDatabase(sql))
        {
           msgBox.Alert("
编辑成功!", "SysUser_Admin.aspx");
        }
        else
        {
           msgBox.Alert("
编辑失败!" +((CheckBox)e.Item.FindControl("User_State")).ToString());
        }

    }

//DataList删除对话框

protected void UserList_ItemCreated(object sender,System.Web.UI.WebControls.DataListItemEventArgs e)
    {
        if (e.Item.ItemType ==ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            LinkButtonlbDelete = (LinkButton)e.Item.FindControl("Del_But");lbDelete.Attributes.Add("onclick", "return confirm(/"
确定删除这个用户吗?/");");
        }
    }

//DataList删除


     protected void UserList_OnDeleteCommand(object sender,DataListCommandEventArgs e)
    {
        string id =this.UserList.DataKeys[e.Item.ItemIndex].ToString(); //使用前需先设置DataList的DataKeyField="Uid"
       string sql = "delete from SystemUser where Uid=" + id + "";
        ConnDB db = new ConnDB();
        if (db.EditDatabase(sql))
        {
           msgBox.Alert("已删除!","SysUser_Admin.aspx");
        }
        else
        {
            msgBox.Alert("删除失败!", "SysUser_Admin.aspx");
        }
        GetUserList();
    }

//DataList数据绑定

   private void DataListDataBind()
   {
    SqlConnection conn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DataBaseCon"].ToString());
    SqlDataAdapter da=new SqlDataAdapter("select * fromEmployees",conn);
    DataSet ds=new DataSet();
    try
    {
     da.Fill(ds,"testTable");
    dlEditItem.DataSource=ds.Tables["testTable"];
     dlEditItem.DataBind();
    }
    catch(Exception error)
    {
     Response.Write(error.ToString());
    }
   }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012862153/article/details/57458689

智能推荐

Apache的安装部署与基本配置(修改端口,修改默认发布目录)、创建虚拟主机、访问控制、Apache支持的语言、HTTPS(加密认证 )_一纸离人醉的博客-程序员宅基地

一、Apache1、概念:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器。是最流行的Web服务器端软件之一,有多种产品,可以支持SSL技术,支持多个虚拟主机。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释...

python入门讲解_【Python入门教程】 超详细讲解,1小时学会Python(不会来找我!)..._肖友的博客-程序员宅基地

1、为什么使用Python假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... " 而不通...

如何把SVG小图片转换为 html字体图表_如何把svg转成html_普通网友的博客-程序员宅基地

自制作的简单字体图表使用案例:查看demo 制作步骤: 1:登录制作工具在线网站 https://icomoon.io/ 2:右上角红色 按钮进入到:https://icomoon.io/app/...

收藏:程序员必选其一的好用的15种文本编辑器_ordinary90的博客-程序员宅基地

很多时候比如编程查看代码或者打开各种文档下我们都会用到文本编辑器,Windows自带的记事本功能很简陋并且打开大文件很慢,因此很多童鞋都会有自己喜欢的一款文本编辑器。在这里,西西挑选前15个最佳的文本编辑器,这些编辑器实际上主要适合程序员!如果觉得这些文本编辑器足够您的使用,欢迎点赞,如果还有更好的,可以给我们推荐哦。1.Notepad++中文版:这是 Windows 记事本一个最好...

201621123075作业11-多线程_weixin_33755557的博客-程序员宅基地

1. 本周学习总结1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容。Thread类(线程类)和Runnalble接口可以用Lambda改写简化任务线程的几种状态:New,Runnable、Running、阻塞、Dead用synchronized共享资源内部锁合作解决方案:wait,notify、synchronized2. 书面作业本次PTA作业题集多线程1....

AAC音频格式详解_小雉系统的博客-程序员宅基地

关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析AAC音频格式有ADIF和ADTS:ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解

随便推点

关于运行项目时 vue-pdf 插件依赖报错的问题及解决办法_露似真珠月似弓的博客-程序员宅基地

关于运行项目时 vue-pdf 插件依赖报错的问题及解决办法vue-pdf 依赖报错原因首先先说一下报错原因,那就是因为版本不同造成的问题。比如我最早用的版本是4.0.7 后来安装依赖包的时候不小心将其升级到了4.2.0,然后就报错了。我们来看一下他们的区别:注意看vue-pdf依赖包下的/src/pdfjsWrapper.js 和 /src/vuePdfNoSss.vue (路径为相对的 具体路径应该都差不多)里的引用:4.0.7版本是这样的 :import { PDFLinkService

Qt实现子窗口内嵌到主窗口内部_qt子窗口嵌入主窗口控件中_ymcao346452938的博客-程序员宅基地

方法1. 在栈中创建子窗口,例如把子窗口设置为主窗口的一个成员函数,dialog   w; 调用子窗口时指定子窗口的父对象为当前窗口,如w.setparent(this)然后在w.show()方法2 在堆中创建窗口(创建子窗口指针,使用new的方式),在子窗口的构造函数中添加setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHi

Maven和Nexus更新索引(index)的安装配置_nexus index_lohas609的博客-程序员宅基地

Maven的官网下载地址:http://maven.apache.org/download.cgi我的Maven下载地址:http://download.csdn.net/detail/u010342038/9417848Nexus的官网下载地址:http://www.sonatype.org/nexus/go我的Nexus下载地址:http://download.csdn.net/d

9. 图_QI_X的博客-程序员宅基地

图基本都是参考这个up主,非常感谢1. 相关概念:线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。入度:多少边指向该顶点出度:多少边从这个点为起点指向别的顶点无向图:无向图是由顶点和边构成。有向图:有向图是由顶点和有向边构成。权重图:如果任意两

小白指南:Centos下安装并启动Tomcat_tomcat-7.0.76 rpm installed什么意思_漫天撒花的博客-程序员宅基地

@这是一个适用于小白的 centos下Tomcat安装说明安装Tomcat之前,首先要安装JAVA SDK。本文中java和tomcat安装采用Yum。1、查看SDK是否安装三种方法可以查看sdk是否安装:是否设置了jdk环境变量: echo $JAVA_HOME;运行命令: java -verion 看看能否查看版本;或者查看后台进程:ps -ef|grep java。2、安...

推荐文章

热门文章

相关标签