Когда пользователь выбирает строку в Telerik Rad Grid, я хочу взять поля в этой строке. как это сделать?
Как выбрать строку в Telerik RadGrid?
- stackoverflow.com/questions/33822075/ 20.11.2015
Ответы:
Это немного сложно, но легко после того, как вы сделали это один раз.
Шаг 1.
Перейдите к самой Radgrid и отредактируйте поле DataKeyNames="" (в MasterTableView) и добавьте поле данных, которое вы извлекаете:
<MasterTableView ... DataKeyNames="ColumnNameFromSqlGoesHere">
Шаг 2.
Решите, как вы собираетесь получать значения: при изменении строки (SelectedIndexChanged) или при нажатии кнопки с прикрепленной к ней командой (ItemCommand).
Если изменить строку, на ваш вопрос:
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
var z = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["ColumnNameFromSqlGoesHere"];
}
Это присвоит переменной "z" значение выбранного вами столбца (ColumnNameFromSqlGoesHere) в данной строке.
Если вы хотите выбирать несколько переменных каждый раз, когда вы меняете строку, вам нужно добавить все значения, которые вы хотите выбрать, в поле DataKeyNames=" ". (через запятую). Затем вы должны получить каждое значение с помощью кода, показанного в методе SelectedIndexChanged:
var a = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["SecondColumnGoesHere"];
var b = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["ThirdColumnGoesHere"];
И т. д. Вы поняли.
Это должно вас заинтересовать. Это решение прямо от Telerik: Получение значений первичного ключа для выбранных элементов
Попробуй это. Это может помочь вам.
ШАГ 1. Добавьте один столбец радиокнопок в radgrid
ШАГ 1. Получите первичный ключ выбранной строки в radgrid.
int primaryKey =0;
RadioButton radioButton;
for (int i = 0; i < RadGrid1.Items.Count; i++)
{
radioButton = RadGrid1.Items[i].FindControl("rdSelect") as RadioButton;
If (radioButton.Checked)
{
primaryKey = RadGrid1.MasterTableView.Items[e.Item.ItemIndex]["ID"].Text;
}
}
Строка в условии if будет использоваться для получения полей из выбранной строки, просто изменив имя ключа данных поля, т.е. изменив «ID» на другое поле
Подробнее читайте в этой статье...
http://codedotnets.blogspot.in/2012/01/get-primary-key-selected-radiobutton.html