rt

解决方案 »

  1.   

    给个DataList的例子你<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataList.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>DataList</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                    OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [cloud]">
                </asp:SqlDataSource>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString2 %>"
                    DeleteCommand="DELETE FROM cloud WHERE (id = @id)" SelectCommand="SELECT * FROM [cloud]"
                    UpdateCommand="UPDATE cloud SET name = @name, num = @num WHERE (id = @id)">
                    <DeleteParameters>
                        <asp:Parameter Name="id" />
                    </DeleteParameters>
                    <UpdateParameters>
                        <asp:Parameter Name="name" />
                        <asp:Parameter Name="num" />
                        <asp:Parameter Name="id" />
                    </UpdateParameters>
                </asp:SqlDataSource>
                <br />
                <asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1"
                    OnEditCommand="DataList1_EditCommand" OnCancelCommand="DataList1_CancelCommand"
                    OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand">
                    <ItemTemplate>
                        id:
                        <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
                        name:
                        <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
                        num:
                        <asp:Label ID="numLabel" runat="server" Text='<%# Eval("num") %>'></asp:Label><br />
                        <asp:Button ID="ItemEditButton" runat="server" Text="编辑" CommandName="edit" />
                        <asp:Button ID="ItemDeleteButton" runat="server" Text="删除" CommandName="delete" />
                        <br />
                    </ItemTemplate>
                    <EditItemTemplate>
                        id:
                        <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
                        name:
                        <asp:TextBox ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:TextBox><br />
                        num:
                        <asp:TextBox ID="numLabel" runat="server" Text='<%# Eval("num") %>'></asp:TextBox><br />
                        <asp:Button runat="server" ID="ItemSaveButton" Text="保存" CommandName="update" />
                        <asp:Button runat="server" ID="ItemCancelButton" Text="取消" CommandName="cancel" />
                        <br />
                    </EditItemTemplate>
                </asp:DataList>&nbsp;</div>
        </form>
    </body>
    </html>
    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;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
        {
            DataList1.EditItemIndex = e.Item.ItemIndex;
            DataBind();
        }    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
        {
            DataList1.EditItemIndex = -1;
            DataBind();
        }    protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
        {
            // (1) 从选中记录中获取recordID 
            string recordID = (DataList1.DataKeys[e.Item.ItemIndex]).ToString();
            // (2) 获取参数customerID的引用
            System.Web.UI.WebControls.Parameter param = SqlDataSource2.DeleteParameters["id"];
            // (3) 设置参数的DefaultValue为要删除记录的ID
            param.DefaultValue = recordID;
            // (4) 删除记录
            SqlDataSource2.Delete();
            // (5) 重新绑定
            DataBind();
        }    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
        {
            // (1) 从选中记录中获取信息
            string recordID = (DataList1.DataKeys[e.Item.ItemIndex]).ToString();
            string recordName = ((TextBox)e.Item.FindControl("nameLabel")).Text;
            string recordNum = ((TextBox)e.Item.FindControl("numLabel")).Text;
            // (2) 设置参数的DefaultValue为要更新记录
            SqlDataSource2.UpdateParameters["id"].DefaultValue = recordID;
            SqlDataSource2.UpdateParameters["name"].DefaultValue = recordName;
            SqlDataSource2.UpdateParameters["num"].DefaultValue = recordNum;
            // (3) 更新记录
            SqlDataSource2.Update();
            // (4) 重新绑定
            DataList1.EditItemIndex = -1;
            DataBind();
        }
    }
      

  2.   

     //添加行
            private void addRow()
            {
                 DataRow dr = ds.Tables[0].NewRow();
                dr["sno"] = "34";
                dr["cno"] = "Mr xu";
                ds.Tables[0].Rows.Add(dr);
                dataGridView1.DataSource = ds.Tables[0].DefaultView;
            }
        //删除行
            private void deleteRow()
            {
                foreach (DataRow dr1 in ds.Tables[0].Rows)
                {
                    if (dr1["sno"].ToString() == "0504")//sno为主键
                    {
                          ds.Tables[0].Rows.Remove(dr1);
                          dataGridView1.DataSource = ds.Tables[0].DefaultView;
                    }
                }
                
                
            }
            //修改行
            private void alterRow()
            {
                foreach (DataRow dr1 in ds.Tables[0].Rows)
                {
                    if (dr1["sno"].ToString() == "0504")
                    {
                        ds.Tables[0].Rows.Remove(dr1);
                        dr1["sno"] = "0504";
                        dr1["cno"] = "sdff";
                        ds.Tables[0].Rows.Add(dr1);
                        dataGridView1.DataSource = ds.Tables[0].DefaultView;
                    }
                }
            }
      

  3.   

    简单啊.要这样 什么都不做 只需要吧DATASET更新后 提交状态就OK的
     在DATAGRIDVIEW里面直接修改
     
      

  4.   

    SqlCommandBuilder sb = new SqlCommandBuilder(SqlDataAdapter);//修改状态
    SqlDataAdapter.Update(dt);//更新状态
    ds.Tables[0].AcceptChanges();//提交状态