看看这个够不够!<asp:datagrid id="myd_1" runat="server" OnPageIndexChanged="myd_1_page" onEditCommand="my_edit" onupdatecommand="my_update" OnCancelCommand="my_cancel" ondeletecommand="my_delete" datakeyfield="id" AllowSorting="True" AllowPaging="True" BackColor="#FFFFCC" ForeColor="Black" Font-Size="10.5pt" Font-Names="仿宋_GB2312" HorizontalAlign="Center" BorderColor="Black" autogeneratecolumns="False" Width="95%">
<EditItemStyle ForeColor="#FF9966" Width="100%" BackColor="#CCCCCC"></EditItemStyle>
<HeaderStyle ForeColor="#003333" BackColor="#CC9966"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemTemplate>
<asp:Button runat="server" Text="编辑" CommandName="Edit" CausesValidation="false"></asp:Button>
</ItemTemplate>
<EditItemTemplate>
<asp:Button runat="server" Text="更新" CommandName="Update"></asp:Button>&nbsp;
<asp:Button runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"></asp:Button>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemTemplate>
<asp:Button runat="server" Text="删除" CommandName="Delete" CausesValidation="false"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客房id">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.id") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客房类型">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LX") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=textbox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LX") %>' Width="100%">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客房说明">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.js") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID=textbox2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.js") %>' Width="100%">>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客房数量">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ts") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=textbox3 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ts") %>' Width="100%">>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客房价格">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.dj") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID=textbox4 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.dj") %>' Width="100%">>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle NextPageText="下一页" PrevPageText="上一页" BackColor="#3399CC"></PagerStyle>
</asp:datagrid>

解决方案 »

  1.   

    后台代码using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;
    using System.Configuration;
    //System.Configuration提供对指定配置节中的配置设置的访问。无法继承此类。namespace Webc
    {
    /// <summary>
    /// list 的摘要说明。
    /// </summary>
    public class list : System.Web.UI.Page {
    protected System.Web.UI.WebControls.DataGrid myd_1;
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.TextBox lx;
    protected System.Web.UI.WebControls.TextBox js;
    protected System.Web.UI.WebControls.TextBox ts;
    protected System.Web.UI.WebControls.Button b1;
    protected System.Web.UI.WebControls.TextBox dj;
    protected System.Web.UI.WebControls.TextBox textbox1;
    protected System.Web.UI.WebControls.TextBox textbox2;
    protected System.Web.UI.WebControls.TextBox textbox3;
    protected System.Web.UI.WebControls.TextBox textbox4;
      //static string connstr=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=E:\\test\\WebC\\db\\BINGUAN.MDB" ;
    //直接在文件里指定数据库地址的方法 static string connstr=ConfigurationSettings.AppSettings["name_mdb"];
    //用web.config文件中指定数据库地址的调用方法
    //声明一个静态变量
    //静态变量可以直接访问,但不能被改变值
    class Point {
    //创建类函数
    public object CreateDataSource;
    //public object dt_kefan;
    // string y;
    public Point() {
    //函数过程

    string sql_str ="SELECT * FROM kfzy  ORDER BY id desc";
    DataTable dt_kefan = new DataTable();
    OleDbConnection conn = new OleDbConnection(connstr);
    OleDbDataAdapter odAdapt = new OleDbDataAdapter(sql_str, conn);
    DataSet DS_kefan = new DataSet();
    odAdapt.Fill(DS_kefan);
    dt_kefan = DS_kefan.Tables[0];
    int kefan_count = dt_kefan.Rows.Count;
    CreateDataSource = DS_kefan.Tables[0].DefaultView;
    }

    } private void BindGrid() {
    //绑定过程
    Point p2 = new Point();
    //类实例化
    myd_1.DataSource =p2.CreateDataSource;
    //绑定到空间
    myd_1.DataBind();
    } private void Page_Load(object sender, System.EventArgs e) {
    // 在此处放置用户代码以初始化页面
     if(!Page.IsPostBack)
    {
    BindGrid();
    }
    } public void myd_1_page(object sender,DataGridPageChangedEventArgs e) 
    {
    //翻页事件
    myd_1.CurrentPageIndex = e.NewPageIndex;
    BindGrid();
    }
    public void  my_edit(object sender,DataGridCommandEventArgs e) {
    //编辑事件
    myd_1.EditItemIndex = e.Item.ItemIndex;
    BindGrid();
    }
    public void my_update(object sender,DataGridCommandEventArgs e) 
    {
    //更新数据
    //为页面的文本框创建实例
    try {
    //用下面的方法返回模板列中的数值
    TextBox lx = (TextBox) e.Item.FindControl("textbox1");
    TextBox js = (TextBox) e.Item.FindControl("textbox2");
    TextBox ts = (TextBox) e.Item.FindControl("textbox3");
    TextBox dj = (TextBox) e.Item.FindControl("textbox4");
    //
    OleDbConnection conn = new OleDbConnection(connstr);
    conn.Open();
    //把KEYS字段对象符给ID_OBJ,在返回对象的字符
    object id_obj = myd_1.DataKeys[e.Item.ItemIndex];
    string id = id_obj.ToString();
    string sql_up = "update kfzy set lx ='" + lx.Text + "',js ='" + js.Text + "',ts =" + ts.Text + ",dj ='" + dj.Text + "' where id =" + id + "";
    OleDbCommand mycommand =new OleDbCommand(sql_up, conn);
    mycommand.ExecuteNonQuery();
    conn.Close();
    myd_1.EditItemIndex = -1;
    BindGrid();
    }
    catch 

                 Response.Write ("eorr");
     }
    }
    public void my_cancel(object sender,DataGridCommandEventArgs e)
    {
    //取消事件
    myd_1.EditItemIndex = -1;
                BindGrid();
    }
    public void my_delete(object sender,DataGridCommandEventArgs e)
    {
    //删除事件

    OleDbConnection conn = new OleDbConnection(connstr);
    conn.Open();
    object id_obj = myd_1.DataKeys[e.Item.ItemIndex];
    string id = id_obj.ToString();
    string sql_del = "delete * from kfzy where id=" + id;
    OleDbCommand mycommand =new OleDbCommand(sql_del, conn);
    mycommand.ExecuteNonQuery();
    conn.Close();
    myd_1.EditItemIndex = -1;
    BindGrid();
    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e) {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent() {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.b1.Click += new System.EventHandler(this.b1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    //增加新数据
    OleDbConnection conn = new OleDbConnection(connstr);
    conn.Open();
    string sql_add = "insert into kfzy(lx,js,ts,dj)values('" + lx.Text + "','" + js.Text + "'," + ts.Text + ",'" + dj.Text + "')";
    OleDbCommand mycommand =new OleDbCommand(sql_add, conn);
    mycommand.ExecuteNonQuery();
    conn.Close();
                BindGrid();
    } private void b1_Click(object sender, System.EventArgs e)
    {
    //增加表格行
    ;

    }
    }
    }