实现DataList的编辑功能

1. 页面

 <table border="0" cellpadding="0" cellspacing="0" style="width: 600px; height: 100%;">
                        <tr>
                            <td>
                                <asp:DataList Width="100%" ID="dlProState" runat="server" DataKeyField="Id" OnCancelCommand="dlProState_CancelCommand"
                                    OnEditCommand="dlProState_EditCommand" OnUpdateCommand="dlProState_UpdateCommand">
                                    <HeaderTemplate>
                                        <td style="width: 100px; height: 15px; background-color: Gray;">
                                            编号
                                        </td>
                                        <td style="width: 300px; height: 15px; background-color: Gray;">
                                            名称
                                        </td>
                                        <td style="width: 100px; height: 15px; background-color: Gray;">
                                            关联的记录数
                                        </td>
                                        <td style="width: 100px; height: 15px; background-color: Gray;">
                                            修改
                                        </td>
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                        <td>
                                            <asp:Label ID="id" Text='<%#Eval("Id")%>' runat="server"></asp:Label>
                                        </td>
                                        <td style="width: 300px">
                                            <asp:Label ID="txtName" runat="server" Text='  <%#Eval("Name") %>'></asp:Label>
                                        </td>
                                        <td style="width: 100px">
                                            13
                                        </td>
                                        <td style="width: 100px">
                                            <asp:LinkButton ID="LinkButton1" Text="编辑" CommandName="Edit" runat="server"></asp:LinkButton>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <td>
                                            <asp:Label ID="id" Text='<%#Eval("Id")%>' runat="server"></asp:Label>
                                        </td>
                                        <td style="width: 300px">
                                            <asp:TextBox ID="txtName" Text='<%#Eval("Name")%>' runat="server"></asp:TextBox>
                                        </td>
                                        <td style="width: 100px">
                                            13
                                        </td>
                                        <td style="width: 100px">
                                            <asp:LinkButton ID="update" Text="更新" CommandName="Update" runat="server"></asp:LinkButton>
                                            <asp:LinkButton ID="delete" Text="取消" CommandName="Cancel" runat="server"></asp:LinkButton>
                                        </td>
                                    </EditItemTemplate>
                                </asp:DataList>
                            </td>
                        </tr>
                    </table>

 

 

 

2. 页面类

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Crm.BLL;
using Crm.Model;

public partial class Sales_ProState : System.Web.UI.Page
{

   //声明BussStateManager 类
    BussStateManager bussStateManager = new BussStateManager();

  //加载事件

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Databind();
        }

    }

  //绑定数据
    private void Databind()
    {

      //bussStateManager.GetAllBussState()获得一个List <类>

        dlProState.DataSource = bussStateManager.GetAllBussState();
        dlProState.DataBind();
    }

  //取消时

    protected void dlProState_CancelCommand(object source, DataListCommandEventArgs e)
    {
        dlProState.EditItemIndex = -1;
        Databind();
    }

//点击编辑时
    protected void dlProState_EditCommand(object source, DataListCommandEventArgs e)
    {
        dlProState.EditItemIndex = e.Item.ItemIndex;
        Databind();
    }

//点击更新时
    protected void dlProState_UpdateCommand(object source, DataListCommandEventArgs e)
    {
        BussState bussState = new BussState();
        string mo_id = dlProState.DataKeys[e.Item.ItemIndex].ToString();

        int id = Convert.ToInt32(mo_id);
        string au_lname = ((TextBox)e.Item.FindControl("txtName")).Text.Trim();
        bussState.Name = au_lname;
        bussStateManager.UpdateBussState(bussState, id);
        dlProState.EditItemIndex = -1;
        Databind();
    }
}

 

以上是一个asp.net的程序,没有写GetAllBussState()方法,希望自己根据情况补充,由于项目是运用三层结构,GetAllBussState()只是一个获得BussState的全部信息。

希望我写的东西在某一方面,可以让别人有所借鉴!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值