DataGrid似乎不允许编辑

时间:2013-06-26 18:57:42

标签: c# asp.net vb.net

我正在使用“WebForm”Datagrid。

DataGrid绑定到数据集并显示数据。

根据我的发现使DataGrid可编辑所有我需要做的是 添加一个Editcommandcolumn。

我做到了,所以我有:

<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>

现在,数据网格显示了第一个库中带有超链接“EDIT”的新列。

当我点击任意一行的编辑时,问题就不会发生。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

好的,我只是举了一个例子说它正在运作。

首先我有我的DataGrid定义:

<asp:DataGrid ID="Grid" runat="server" DataKeyField="DatasetField1" AutoGenerateColumns="False" GridLines="None" OnCancelCommand="Grid_CancelCommand" OnEditCommand="Grid_EditCommand" OnUpdateCommand="Grid_UpdateCommand">
<Columns>
     <asp:BoundColumn HeaderText="Column1" DataField="DatasetField1"></asp:BoundColumn>
     <asp:BoundColumn HeaderText="Column2" DataField="DatasetField2"></asp:BoundColumn>
     <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" HeaderText="Edit"></asp:EditCommandColumn>
 </Columns>

其次我必须绑定我的数据网格:

public BindData()
{
    ....
    Grid.DataSource = [MyDataSet With DatasetFiel1 and DatasetField2 fields];
    Grid.DataBind();
}

第三,我处理编辑事件(查看上面的DataGrid标记):

单击网格内的编辑链接按钮时的事件:

protected void Grid_EditCommand(object source, DataGridCommandEventArgs e)
{
    Grid.EditItemIndex = e.Item.ItemIndex;
    BindData();
}

编辑后单击“取消”链接按钮时的事件。只是取消更改:

protected void Grid_CancelCommand(object source, DataGridCommandEventArgs e)
{
    Grid.EditItemIndex = -1;
    BindData();
}

最后确认编辑值时的事件:

protected void Grid_UpdateCommand(object source, DataGridCommandEventArgs e)
{
    // Here you save your changes to the database
}

如果您有任何问题,请告诉我......