请参考quickstart中的DateGrid,其中有详细示例。

解决方案 »

  1.   

    //删除处理
    public void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs e)
    {
    String deleteCmd = "DELETE from menu where id = " +MyDataGrid.DataKeys[(int)e.Item.ItemIndex]; OleDbCommand myCommand = new OleDbCommand(deleteCmd, myConnection);        
    Message.Text= deleteCmd;
    myCommand.Connection.Open(); try
    {
    myCommand.ExecuteNonQuery();
    Message.Text = "<b>已删除记录</b><br>" + deleteCmd;
    }
    catch (OleDbException)
    {
    Message.Text = "错误:未能删除记录";
    Message.Style["颜色"] = "红色";
    } myCommand.Connection.Close(); BindGrid();
    }   
    //修改数据
    public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs E)
    {
    MyDataGrid.EditItemIndex = (int)E.Item.ItemIndex;
    BindGrid();
    } public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs E)
    {
    MyDataGrid.EditItemIndex = -1;
    BindGrid();
    }
        
    public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E)
    {        
    String name = ((TextBox)E.Item.Cells[1].Controls[0]).Text;
    String far_id = ((DropDownList)E.Item.FindControl("edit_farid")).SelectedItem.Value.ToString();

    String updateCmd = "UPDATE menu SET name ='"+name+"', far_id ='"+far_id+"' "
    + " where id ="+MyDataGrid.DataKeys[(int)E.Item.ItemIndex];  
    OleDbCommand myCommand = new OleDbCommand(updateCmd, myConnection);                                                                       
           
    myCommand.Connection.Open(); try 
    {
    myCommand.ExecuteNonQuery();
    Message.Text = "<b>已更新记录</b><br>" + updateCmd;
    MyDataGrid.EditItemIndex = -1;
    }
    catch (OleDbException ex)
    {
    if (ex.ErrorCode == 2627)
    Message.Text = "错误:已存在具有相同主键的记录";
    else
    Message.Text = "错误:未能更新记录,请确保正确填写了字段<br>id="+ myCommand.Parameters["@id"].Value;          
    Message.Style["color"] = "red";
              
    } myCommand.Connection.Close(); BindGrid();
    }
    你拿去参考一下。在datagrid里指定一下相应的事件