Я использую Telerik RadGrid и у меня есть GridTemplateColumn с уникальным именем «ChangeAddr». Обычно пользователь проверяет один или несколько полей, а затем нажимает кнопку «Изменить адрес», чтобы пользователь мог изменить адрес для выбранных строк / продуктов.
Идентификатор флажка - chkChangeAddr.
DataKeyName - это OrderProductID.
Теперь вот код, который я имею, когда пользователь нажимает кнопку:
var OrderProductIDs = (from GridDataItem item in rgShipProducts.Items
where ((CheckBox)item.FindControl("chkChangeAddr")).Checked
select int.Parse(rgShipProducts.MasterTableView.DataKeyValues[item.ItemIndex]["OrderProductID"].ToString())).ToList();
Однако, это ничего не возвращает.
Если это поможет, у меня есть событие для OnItemDataBound, где я могу успешно извлечь DataKeyValue, используя этот же фрагмент:
rgShipProducts.MasterTableView.DataKeyValues[item.DataSetIndex]["OrderProductID"].ToString()
Так что, похоже, я не "получаю доступ" к каждому предмету или чему-то еще. Я сделал это с обычными ListViews, но никогда не на RadGrid. Любая помощь будет принята с благодарностью.
Спасибо,
Andrew