DataList控件使用代码

html代码

<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataList ID="DataList1" runat="server" OnEditCommand="DataList1_EditCommand" OnItemCommand="DataList1_ItemCommand" OnCancelCommand="DataList1_CancelCommand" OnUpdateCommand="DataList1_UpdateCommand">
            <SeparatorTemplate>
                <hr />
            </SeparatorTemplate>
            <ItemTemplate>
                <asp:LinkButton ID="lblist" runat="server" CommandName="select">查看</asp:LinkButton>
                <asp:LinkButton ID="lbedit" runat="server" CommandName="edit">编辑</asp:LinkButton>
                <%# DataBinder.Eval(Container.DataItem,"changid") %>
                <%# DataBinder.Eval(Container.DataItem,"chang1") %>
            </ItemTemplate>
            <SelectedItemTemplate>
            编号: <%# DataBinder.Eval(Container.DataItem,"changid") %>
            <br />
            省名称:<%#DataBinder.Eval(Container.DataItem,"chang1") %>
            </SelectedItemTemplate>
            <EditItemTemplate >
                <asp:LinkButton ID="lbupdate" runat="server" CommandName="update">保存</asp:LinkButton>
                <asp:LinkButton ID="lbcancel" runat="server" CommandName="cancel">取消</asp:LinkButton>编号: <%#DataBinder.Eval(Container.DataItem,"changid") %>
           
                <asp:TextBox ID="TextBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"chang1") %>'></asp:TextBox>&nbsp;
            </EditItemTemplate>
        </asp:DataList></div>
    </form>
</body>

说明:<%# DataBinder.Eval(Container.DataItem,"字段名",{0:格式符}%> 这是绑字源

以下是c#中的代码

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.createdb();
        }
    }
    private void createdb()
    {
        SqlConnection scn = new SqlConnection("server=.;database=zhang;uid=sa;pwd=410");
        SqlDataAdapter adp = new SqlDataAdapter();
        adp.SelectCommand = new SqlCommand("select * from chang", scn);
        DataSet ds = new DataSet();
        adp.Fill(ds, "chang");
        this.DataList1.DataSource = ds.Tables["chang"].DefaultView;
        this.DataList1.DataKeyField = "changid";
        this.DataList1.DataBind();
      

    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select")
        {
            this.DataList1.SelectedIndex = e.Item.ItemIndex;    
            this.createdb();
        }
    }
    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = e.Item.ItemIndex;
        this.createdb();
    }
    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
    {
        string idd = DataList1.DataKeys[e.Item.ItemIndex].ToString();
        string txt = ((TextBox)e.Item.FindControl("TextBox1")).Text;
        SqlConnection cn = new SqlConnection("server=.;database=zhang;uid=sa;pwd=410");
        cn.Open();
        SqlCommand cm = new SqlCommand("update chang set chang1='" + txt + "' where changid='" + idd + "'", cn);
        cm.ExecuteNonQuery();
        cn.Close();
        this.DataList1.EditItemIndex = -1;
        this.createdb();

    }
    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
    {
        this.DataList1.EditItemIndex = -1;
    }

 上面添加的为LinkButton安钮

LinkButton.commandname十分重要 当为"查看"时 commandname=select

对应datalist中的ItemCommand事件

当为"编辑"时应为 commandname=edit

对就Datalist控件的Editcommand事件

当为"保存"   commandname=update

对应DataList中的 updatecommand事件

当为"取消"时commandname=cancel

对应DataList中的cancelcommand事件(datalist1.edititemindex=-1;)代表没有选取任何数值

commandname=的名称请不要乱写.按上面的写法就行

这个模板编辑很要.绑定的字段名都在HTML中添加的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值