как получить значение столбца в radgrid при событии DeleteCommand

#asp.net #telerik #radgrid

#asp.net #telerik #radgrid

Вопрос:

Всем привет, у меня есть radgrid, подобный этому :

 <cc1:RadGridCustomized ID="RadGrid1" runat="server" OnNeedDataSource="RadGridCustomized1_NeedDataSource"
    OnPreRender="RadGridCustomized1_PreRender" OnUpdateCommand="RadGridCustomized1_UpdateCommand"
    OnDeleteCommand="RadGridCustomized1_DeleteCommand" OnInsertCommand="RadGridCustomized1_InsertCommand"
    OnItemCreated="RadGridCustomized1_OnItemCreated">
    <MasterTableView DataKeyNames="ID">
        <Columns>
            <telerik:GridTemplateColumn HeaderText="گروه آزمایش" Visible="false">
                <ItemTemplate>
                    <%# Eval("HSEWaterExamGroupName") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <telerik:RadComboBox OnDataBinding="RadGridCustomized1_ccbBinding3" runat="server"
                        ID="cbbHSEWaterExamsBaseGroup">
                    </telerik:RadComboBox>
                </EditItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridTemplateColumn HeaderText="نام ماده/ آزمایش" UniqueName="materialName">
                <ItemTemplate>
                    <%# Eval("HSEWaterExamBaseName") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <telerik:RadComboBox OnDataBinding="RadGridCustomized1_ccbBinding4" runat="server"
                        ID="cbbName">
                    </telerik:RadComboBox>
                    <telerik:RadTextBox ID="txtName" Enabled="false" Visible="false" runat="server" >
                  </telerik:RadTextBox>
                </EditItemTemplate>
            </telerik:GridTemplateColumn>
    </Columns>
    </MasterTableView>
</cc1:RadGridCustomized>
  

теперь я хочу получить значение столбца «materialName» в событии DeleteCommand.
Я использую этот код:

 GridDataItem da = e.Item as GridDataItem;
string name = da["materialName"].Text;
  

или этот код:

   name =  RadGrid1.MasterTableView.Items[e.Item.ItemIndex]["materialName"].Text;
  

но возвращаемое значение является пустой строкой.
пожалуйста, помогите мне, если у кого-нибудь есть идея сделать это.
заранее спасибо.

Ответ №1:

Сначала получите идентификатор, а затем из этого идентификатора вы получите имя с:

 int id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"];
  

Ответ №2:

Вы можете использовать UniqueName для получения значения столбца:

da.item["UniqueName"].Text