ASP.NET基础教程-DataList数据列表控件-实现DataList列表控件编辑功能
2007-10-12 11:08:30
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/45969 |
HTML文件代码
<asp:datalist id="DataList" style="Z-INDEX: 108; LEFT: 26px; POSITION: absolute; TOP: 264px" runat="server" DataKeyField="id"> <ItemTemplate> <asp:Button id="edit" runat="server" Text="编辑" CommandName="edit"></asp:Button> <asp:Label id="id" Text= '<%# DataBinder.Eval(Container.DataItem,"ID") %>' Runat="server"> </asp:Label>
</ItemTemplate> <EditItemTemplate> <asp:TextBox id="name" Text= '<%# DataBinder.Eval(Container.DataItem,"name") %>' Runat="server"></asp:TextBox>
<asp:TextBox id="level" Text= '<%# DataBinder.Eval(Container.DataItem,"level") %>' Runat="server"></asp:TextBox>
<asp:TextBox id="station" Text= '<%# DataBinder.Eval(Container.DataItem,"station") %>' Runat="server"></asp:TextBox>
<asp:TextBox id="dept" Text= '<%# DataBinder.Eval(Container.DataItem,"dept") %>' Runat="server"></asp:TextBox>
<asp:Button id="update" runat="server" Text="更新" CommandName="update"></asp:Button> <asp:Button id="cancel" runat="server" Text="取消" CommandName="cancel"></asp:Button> </EditItemTemplate> </asp:datalist> ![]() CS文件代码
1、读取数据按钮代码
private void select_data_Click(object sender, System.EventArgs e) { //创建数据库连接 SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["server"]); //打开数据库 con.Open(); 创建数据适配器对象从数据库中提取数据 SqlDataAdapter da=new SqlDataAdapter("select id,name,level,station,dept from verify",con); //声明记录集对象 ds=new DataSet(); //将数据库中提取出的数据加载到数据库 da.Fill(ds,"verify"); //将记录集作为数据列表的数据源 DataList.DataSource=ds; //绑定数据 DataList.DataBind(); //关闭数据库 con.Close(); } 2、编辑按钮代码
private void DataList_EditCommand(object source,System.Web.UI.WebControls.DataListCommandEventArgs e)
{ if(e.CommandName=="edit") { //设置DataList控件的编辑项的索引为当前选择行的索引 DataList.EditItemIndex=e.Item.ItemIndex; DataList.DataSource=ds;//重新赋数据源 DataList.DataBind();//数据绑定 } } 3、取消按钮代码
private void DataList_CancelCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e) { if(e.CommandName=="cancel") { //设置DataList控件的编辑项的索引为-1,取消编辑 DataList.EditItemIndex=-1; DataList.DataSource=ds;//重新赋数据源 DataList.DataBind();//数据绑定 } } 4、更新按钮代码
private void DataList_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{ if(e.CommandName=="update") { //打开数据库连接 con.Open(); //获得编辑行的ID字段的值 string old_id=DataList.DataKeys[e.Item.ItemIndex].ToString(); //取得文本框内输入的姓名 string new_name=(TextBox)e.Item.FindControl("name").Text; //取得文本框内输入的等级 string new_level=(TextBox)e.Item.FindControl("level") .Text; //取得文本框内输入的岗位 string new_station=(TextBox)e.Item.FindControl("station") .Text; //取得文本框内输入的部门 string new_dept=(TextBox)e.Item.FindControl("dept") .Text; //更新数据所需SQL语句 string oSql="update verify set name='"+new_name+"',level='"+new_level+"',station='"+new_station+"',dept='"+new_dept+"' where id='"+old_id+"'"; try { //定义命令对象 SqlCommand cmd=new SqlCommand(oSql,con); //执行SQL命令 cmd.ExecuteNonQuery(); //取消编辑 DataList.EditItemIndex=-1; ds.Tables["verify"].Rows[e.Item.ItemIndex][1]=new_name.Text.ToString(); ds.Tables["verify"].Rows[e.Item.ItemIndex][2]=new_level.Text.ToString(); ds.Tables["verify"].Rows[e.Item.ItemIndex][3]=new_station.Text.ToString(); ds.Tables["verify"].Rows[e.Item.ItemIndex][4]=new_dept.Text.ToString(); //将ds作为DataList控件的数据源 DataList.DataSource=ds; //绑定数据 DataList.DataBind(); } catch(Exception err) { //如果更新出现异常,在页面输出异常信息 Response.Write(err.ToString()); } finally { //不论有无异常,都关闭数据源 con.Close(); } } } ![]() |




晨星
博客统计信息
热门文章
最新评论
友情链接

