上一篇文章讲了DataList的一些基础知识,掌握这些知识对以后的应用会起到很大的作用。现在,让我们开始谈论上一篇文章中提到的基础知识,并做一个小例子。首先,我电脑的数据库中有一个人表,如下图所示。
现在,我们使用DataList控件来显示表中的信息,并且可以在DataList控件上编辑数据库中的表。1.首先,用vs创建一个web应用程序,添加一个web表单,在web表单中拉出DataList控件,右键单击该控件并选择EditItemTemplate。这里我们可以看到四个模板,其中两个是SelectedItemTemplate和edit ItemTemplate,并在项目模板中拉出两个LinkButton控件。一个将文本的名称更改为视图,并将命令名称属性更改为选择;另一个将文本更改为编辑,其命令名属性更改为编辑。然后在HTML页面上创建一个SelectedItemTemplate,将员工的所有信息绑定在模板中。(这是查看员工详细信息的功能。).2.在EditItemTemplate项中添加两个LinkButton控件,Text属性分别为save和cancel,CommandName属性分别为update和cancel,然后添加一个TextBox控件来输入姓名,从而在这里修改员工姓名。3.我们总是可以在属性生成器中更改表格的样式、字体的颜色和网格的距离。我们这里就不赘述了,最后编辑完模板。4.在前台HTML代码ItemTemplate模板(用于显示员工姓名)中编辑代码。
项目模板ASP : link button ID=' lbtnshowdetails ' runat=' server '命令名称=' select ' fore color=' red ' view/ASP : link button ASP : link button ID=' lbtnedit ' runat=' server '命令名称=' edit ' fore color=' red ' edit/asp: link button % # data binder . eval(container . dataitem,' personal name ')%/item template中的代码selecteditem(用于在员工中显示详细信息)。
SelectedItemTemplate员工编号:% # data binder . eval(container . dataitem,' PID ')% br/员工姓名:% # data binder . eval(container . dataitem,personal name ')% br/员工性别:% # data binder . eval(container . dataitem,' person seven ')%/selecteditem模板中的代码编辑项目模板(用于修改员工姓名)注意:将文本框中的文本属性绑定到员工姓名。
编辑项目模板ASP : link button ID=' lbtnupdate ' runat=' server '命令名称=' update ' save/Asp : link button ASP : link button ID=' lbtncancel ' runat=' server ' command name=' cancel ' cancel/Asp : link button br/员工编号:% # Databinder . eval(container . dataitem,' PID ')% br/名称:Asp 3: textbox ID=' txtname ' runat=' server ' span style='text=' % # data binder . eval(container . dataitem,' personal name ')% '/span width=' 50px '/ASP : text box/edit item template,最后是页眉和页脚模板。
页眉模板的页眉/页脚模板的页眉br/模板的页脚/页脚模板5。编辑后的前台界面如下。
6.编写背景代码6.1。正在写入数据列表数据绑定方法。
private void dataBindToDataList(){ SqlConnection con=db . createconnection();sqldatadapter sda=new sqldatadapter();字符串sql='从人员中选择* ';sda。select command=new SqL command(SqL,con);数据集ds=新数据集();sda。填充(ds,' per ');数据列表1。DataKeyField=' pID//将主键保存到DataKeys集合中,以便以后可以编辑一段数据。数据列表1。DataSource=ds。表[' per '];数据列表1。DataBind();} 6.2.写Page_Loda事件判断页面是否第一次加载,第一次加载页面时绑定数据。
受保护的无效页面_加载(对象发送方,事件参数e) { if(!这个. IsPostBack){这个。databintotalst();} } 6.3、编写DataList1_ItemCommand事件,实现查看员工详细信息功能(前提是我们已经在选择编辑模板模板中将员工的详细信息已经绑定,现在只是调用方法将其显示出来)
受保护的void DataList1_ItemCommand(对象源,datalist commandventargs e)//e表示数据列表传递给该函数的信息{ if(e.command NAmE==' select '){ this .数据表1 .选择索引;这个。databintotalst();} } 6.4、编写数据列表1 _编辑命令事件,实现编辑功能,将编辑项目模板模板中的信息显示出来。
受保护的void DataList1_EditCommand(对象源,datalistcommanventargs e)//e表示数据列表传递给该函数的信息{这个。数据项索引;//项目表示数据列表中发生事件的那一项这个。databintotalst();} 这时候,编辑模板项的绑定信息就会显示出来,我们可以在这更改姓名,或者取消编辑,效果图如下
最后是取消修改功能的代码、更新功能的代码、删除功能的代码,事件分别为数据列表1 _取消命令、数据列表1 _更新命令、数据列表1 _删除命令。
受保护的void DataList1_CancelCommand(对象源,datalist commandventargs e)//e表示数据列表传递给该函数的信息{数据列表1。edititeindex=-1;//当编辑项目索引属性值为-1时,表示不显示编辑项目模板模板dataBindToDataList();}受保护的void DataList1_UpdateCommand(对象源,datalistcomandventargs e){ 0字符串标识=数据列表1 .数据项. ToString();字符串名称=((文本框)e . item。查找控件(' txt名称').文字;SqlConnection con=db。create connection();SqlCommand cmd=new SqlCommand('更新人员集personName=' ' name ',其中PiD=' ID ' ',con);cmd .execution query();数据列表1。edititeindex=-1;dataBindToDataList();}受保护的void DataList1_DeleteCommand(对象源,datalistcomandventargs e){ 0字符串标识=数据列表1 .数据项. ToString();SqlConnection con=db。create connection();SqlCommand cmd=new SqlCommand('从PiD=' ID ' ' '的人处删除,con);cmd .execution query();数据列表1。edititeindex=-1;dataBindToDataList();} 用数据列表控件实现对数据库中人表的操作,实现查看详细信息,修改操作,大致流程是先修改数据列表控件的各个模板中绑定的数据,然后等待具体的事件使该模板中的内容显示出来,最后再对数据进行操作。当数据适配器DateAdapter对象将数据源中的数据填充到资料组中后,我么可以用数据列表数据键字段=”主键字段名"语句将主键添加到数据列表的数据键集合中,当我们要修改数据的时候可以再从该集合中取出要编辑的数据项的主键,语句为数据列表1。数据项索引。这样我们就可以随心所欲的修改数据列表表中的数据项了。
以上就是本文的全部内容,希望对大家的学习有所帮助。