【问题标题】:Telerik RadGrid - Get Value from column on ItemUpdate eventTelerik RadGrid - 从 ItemUpdate 事件的列中获取值
【发布时间】:2014-09-05 12:37:04
【问题描述】:

过去几个小时我一直在尝试解决这个问题,我想这很容易解决。 但是我还没有找到解决方案。

在我的网格中使用:

AutoGenerateEditColumn="true"

当我连续按下编辑按钮时,我想在 RadGrid1_UpdateCommand 事件中进行自定义检查。

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateEditColumn="true" DataSourceID="ObjectDataSource">

<MasterTableView CommandItemDisplay="Top" AllowAutomaticUpdates="true" DataSourceID="ObjectDataSource" DataKeyNames="Id">
<Columns>

<telerik:GridBoundColumn DataField="Id" DataType="System.Int32" FilterControlAltText="Filter Id column" HeaderText="Id" SortExpression="Id" UniqueName="Id" Display="false" ReadOnly="true">

<telerik:GridBoundColumn DataField="Name" FilterControlAltText="Filter Name column" HeaderText="Name" SortExpression="Name" UniqueName="Name"/>

</Columns>
</MasterTableView>
</telerik:radGrid>

所以在我的后端我像这样挂钩事件:

protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e) {
// Get the ID for the specific row which had the "Edit" link pressed.
}

如果我能够将 ID 存储在 int 中,我会更喜欢。

int i = e.Somthing.Something.Darkside;

我已经四处寻找,但没有成功,我希望有人能在这个晴朗的星期五来拯救我。

对不起,如果我没有任何意义,英语不是我的主要语言,我的思维方式可能会偏离(看着应该简单的东西 3 小时对你来说不是吗?)。

【问题讨论】:

  • MichaelA - 根据您目前得到的两个答案,您想要行的索引还是“Id”列的值?
  • @DanM Hi DanM 我正在​​寻找的是“id”列,所以 Jayesh Goyani 的解决方案成功了。

标签: c# telerik telerik-grid radgrid


【解决方案1】:

请尝试以下代码 sn-p。

protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
{
    GridEditableItem item = e.Item as GridEditableItem;

    int Id = Convert.ToInt32(item.GetDataKeyValue("Id").ToString());
    //Access edit row ID value here -- using datakey

    string Name = (item["Name"].Controls[0] as TextBox).Text;
    // Get Name field updated value here

    int index = item.ItemIndex;
    // Access edit row index here
}

如果我不理解您的要求,请告诉我。

【讨论】:

    【解决方案2】:

    RadGrid1_UpdateCommand 的事件处理程序中,获取当前项目,然后您可以从那里计算项目的行索引:

    GridEditableItem editItem = e.Item as GridEditableItem;
    int myIndex = (editItem.RowIndex / 2) - 1;
    

    RowIndex 值是 2 的倍数,并且是从 1 开始的(从 1 开始,而不是零)。因此,通过此计算,您会得到以下结果(我认为您会期望):

    行索引 myIndex 2 0 4 1 6 2 ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多