2

RadGrid で OnUpdateCommand イベントを処理する場合、DataItem は null です。

これは、行によって表されるデータ項目も表すと考えました。

Radgrid は IList から取り込まれ、ハンドラーのコードは次のようになります...

protected void rgAllocatedClients_UpdateCommand(object sender, GridCommandEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        var gridDataItem = e.Item as GridDataItem;
        var client= gridDataItem .DataItem as Client;
        ....
        ....

これは、ItemDataBound イベントを処理するときは機能しますが、UpdateCommand イベントを処理するときは機能しません。私のクライアントクラスでは、更新を処理したい行のIDであるため、これが本当に必要です。

ありがとう、

4

2 に答える 2

2

Update コマンドの前にグリッドが編集モードにあると仮定すると、e.Item を GridDataItem ではなく GridEditableItem にキャストする必要があります。

于 2010-05-10T14:59:22.017 に答える
1

GridEditableItem を使用してこれを試してください


 protected void grdContacts_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
    {

        string idEditing = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString();
        GridEditableItem editedItem = e.Item as GridEditableItem;
        Hashtable newValues = new Hashtable();
// ur code
}
于 2010-05-14T11:04:50.340 に答える