如题目所问。

解决方案 »

  1.   

    不知下段代码对你是否有帮助,编辑时DataGrid会自动添加TextBox控件<%@ Import Namespace="System.Data.oledb" %>
    <Script Language="VB" RunAt=Server>'定义全局变量myConnection
    Dim myConnection as OleDbConnection
    dim myCommand as OledbcommandSub Page_Load(Sender As Object, E As EventArgs)
    Dim strCnn as string="Provider=Microsoft.Jet.OLEDB.4.0; "& _
                         "Data Source=e:/source/db/学生.mdb"
       myConnection=new OleDbConnection(strCnn)
       myConnection.open  if(not Page.IsPostBack)
            call BindGrid
      end if
    End SubSub BindGrid()
       dim strSQL as string="Select * from 基本情况"
       myCommand=new OleDbCommand(strSQL,myConnection)
       dim myDataReader as OleDbDataReader
       myDataReader=myCommand.ExecuteReader()
       myDataGrid.DataSource=myDataReader
       myDatagrid.DataBind
    end subPrivate Sub DataGrid_Edit(Sender As Object,e As DataGridCommandEventArgs)   myDataGrid.EditItemIndex=e.Item.ItemIndex
       Call bindgridend subPrivate Sub DataGrid_Cancel(Sender As Object,e As DataGridCommandEventArgs)

       myDataGrid.EditItemIndex = -1
       Call bindgrid
    end subPrivate Sub DataGrid_Update(Sender As Object,e As DataGridCommandEventArgs)
       Dim ID,语文,数学,英语 as String
       Dim strSQL as String
       Dim tempTextBox AS TEXTBOX
       
       ID=e.Item.Cells(1).text
       tempTextBox=e.Item.Cells(3).Controls(0)
       语文=tempTextBox.TEXT
       tempTextBox=e.Item.Cells(4).Controls(0)
       数学=tempTextBox.TEXT
       tempTextBox=e.Item.Cells(5).Controls(0)
       英语=tempTextBox.TEXT
        strSQL="Update 基本情况 set chinese=" & 语文 & ",math=" & 数学 & ",english=" & 英语 & " where ID='" & ID & "'"
    dim mycommand as oledbcommand=new oledbcommand
    mycommand.connection=myconnection
       myCommand.commandtext=strsql
       myCommand.ExecuteNonQuery()
       
       myDataGrid.EditItemIndex = -1
       Call bindgridend sub
    </Script> <HTML>
    <title>演示EditCommandColumn</title>
    </head>
    <BODY>
    <form runat=server>
    <center>
    <p>演示EditCommandColumn</p>
        <asp:DataGrid id="myDataGrid" runat="server"
     AutoGenerateColumns="false"
     OnEditCommand="DataGrid_Edit"
     OnCancelCommand="DataGrid_Cancel" 
     OnUpdateCommand="DataGrid_Update" >
    <Columns>
      <asp:EditCommandColumn HeaderText="" buttontype="pushbutton"
           EditText="编辑"
           UpdateText="更新"
           CancelText="取消" />
      <asp:BoundColumn  HeaderText="学号" DataField="ID" ReadOnly="True" />
      <asp:BoundColumn  HeaderText="姓名" DataField="name" ReadOnly="True" />
      <asp:BoundColumn  HeaderText="语文成绩" DataField="chinese" />
      <asp:BoundColumn  HeaderText="数学成绩" DataField="math" />
      <asp:BoundColumn  HeaderText="英语成绩" DataField="english" /> </Columns> 
    </asp:DataGrid>
    </center>
    </form>
    </BODY>
    </HTML>
      

  2.   

    其实这个问题也很好办,在DATAGRID里有,EditCommand行为,指要你在它的里面指定DATAGRID进入编辑模式就行了,如:
    private void Edit_Event(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    yourdatagrid.EditItemIndex = e.Item.ItemIndex;
    yourdatagridDATABIND();
    }
    然后private void InitializeComponent()
    {

    this.DGNavigation.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Edit_Event);
    this.Load += new System.EventHandler(this.Page_Load); }
    挂勾上,你就可以编辑了,LIBRARY上说得很清楚你可以查查~