您的位置:首页 > 编程语言 > ASP

ASP.NET基础教程-DataList数据列表控件-实现DataList列表控件编辑功能

2007-10-12 11:08 459 查看


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();
}
}
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐