漫谈DataList的用法

<一>  数据库绑定:
       
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = new SqlCommand("select * from person", con);
        DataSet ds = new DataSet();
        sda.Fill(ds, "person");
        this.DataList1.DataKeyField = "pid";
        this.DataList1.DataSource = ds.Tables["person"];
        this.DataList1.DataBind();

<二> Datalist属性生成器
编辑 更新,删除,取消 的CommandName分别是edit  update delete cancel ,这样在datalist的事件中就可以直接响应这些事件,以便进行操作。

样式有列表如下:
<asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnCancelCommand="DataList1_CancelCommand" OnUpdateCommand="DataList1_UpdateCommand">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="select">查看详细信息</asp:LinkButton>
            <asp:LinkButton ID="LinkButton2" runat="server" CommandName="edit" OnClick="LinkButton2_Click">编辑</asp:LinkButton>
            <asp:LinkButton ID="LinkButton5" runat="server" CommandName="delete">删除</asp:LinkButton><%# DataBinder.Eval(Container.DataItem ,"pname") %><%# DataBinder.Eval(Container.DataItem ,"psex") %>

        </ItemTemplate>
        <SelectedItemTemplate>
        <%# DataBinder.Eval(Container.DataItem,"pid","序列号:{0}") %><br>
           <%# DataBinder.Eval(Container.DataItem,"pname") %>
              <%# DataBinder.Eval(Container.DataItem,"psex") %>
        </SelectedItemTemplate>
            <EditItemTemplate>
                <asp:LinkButton ID="LinkButton3" runat="server" CommandName="cancel">取消</asp:LinkButton>
                <asp:LinkButton ID="LinkButton4" runat="server" CommandName="update">保存</asp:LinkButton>
                <asp:TextBox ID="TextBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem ,"pname") %>'></asp:TextBox>
            </EditItemTemplate>
            <AlternatingItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" ForeColor="Maroon" />
            <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                Font-Underline="False" ForeColor="Green" />
        </asp:DataList>

程序代码:

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select")
        {
            this.DataList1.SelectedIndex = e.Item.ItemIndex;//选择
            this.DataList1.DataBind();
        }
    }
    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = e.Item.ItemIndex;//编辑
        this.DataList1.DataBind();
    }

    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = -1;//取消
        this.DataList1.DataBind();
    }
    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)//更新
    {
        string pid=this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
        string name = ((TextBox)e.Item.FindControl("TextBox1")).Text;
        SqlConnection con = connecttion.ado.sqldb();
        con.Open();
        SqlCommand cmd = new SqlCommand("update person set pname='"+name+ "'where pid='" + pid + "'",con);
        cmd.ExecuteNonQuery();
        this.DataList1.EditItemIndex = -1;
        this.DataList1.DataBind();
        Response.Write(pid+name);
    }
}

转载于:https://www.cnblogs.com/tomin/archive/2008/10/03/1303583.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值