Я работаю над RadGrid, и я хочу получить доступ к его строкам, но кажется, что у него нет свойства .Rows
.
Вот что я пробовал до сих пор:
Как я могу получить доступ к коллекции rgCustomers
Rows? Я хочу добавить кнопку в каждую строку.
Я работаю над RadGrid, и я хочу получить доступ к его строкам, но кажется, что у него нет свойства .Rows
.
Вот что я пробовал до сих пор:
Как я могу получить доступ к коллекции rgCustomers
Rows? Я хочу добавить кнопку в каждую строку.
Согласно Документация Telerik,
"Каждая динамическая строка в сетке представляет собой запись из указанного источника данных. Динамические строки представлены классом GridDataItem (потомком GridItem).
Каждый GridTableView имеет набор строк (коллекция Items) типа GridDataItem. "
Итак, вы хотите использовать коллекцию Items сетки, которая представляет собой коллекцию GridDataItems.
protected void btnLoad_Click(object sender, EventArgs e)
{
rgCustomers.DataSource = odsCustomers;
rgCustomers.DataBind();
foreach (GridDataItem row in rgCustomers.Items)
{
}
}
Я предполагаю, что это WPF/Silverlight RadGrid?
Если вы хотите получить доступ к управлению строками в сетке привязки данных (а не к данным строки) - вам придется использовать свойство ItemContainerGenerator для RadGrid. Например:
rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);
или
rgCustomers.ItemContainerGenerator.ContainerFromItem(odsCustomers[0]);
вернет управление первой строкой (типа RadGridViewRow, если я правильно помню)
GridTemplateColumn или GridButtonColumn выполнит трюк.
Используйте обработчик событий OnClick кнопки.
<telerik:RadButton ID="BTN_DEMO" runat="server" HeaderText="N°1 DEMO BTN"
Text='<%#"Click Me iM N°"+((IhateEvalDataSource) Container.DataItem).Stuff_ID %>'
OnClick="BTN_DEMO_Click"></telerik:RadButton>
Получить ссылку на GridDataItem, используя (отправитель как RadButton).NamingContainer.
protected void BTN_BL_Click(object sender, EventArgs e)
{
GridDataItem G = ((RadButton)sender).NamingContainer as GridDataItem;
}
Используйте метод GetDataKeyValue() для извлечения идентификатора записи:
DEMO_INT = (int)G.GetDataKeyValue("mySweetInt");
DEMO_STRING = (string)G.GetDataKeyValue("MyString");
Я надеюсь, что это поможет
С уважением,
Pierre