Как найти индекс выбранной строки и столбца вместе в Repeater на .NET

#.net #repeater

#.net #повторитель

Вопрос:

У меня есть компонент repeater для отображения данных. Я могу получить индекс строки, используя Repeater1.Items[e.Item.ItemIndex].ItemIndex.toString () но это дает мне только выбранную строку. Как я могу найти также индекс столбца?

Заранее спасибо,

Ответ №1:

В repeater нет индекса строки и столбца. Просто itemindex, который может быть известен с помощью:

 e.Item.ItemIndex
  

Вам не нужно выполнять Repeater1.Items[e.Item.ItemIndex].ItemIndex.

Элемент управления Repeater используется для отображения повторяющегося списка элементов, которые привязаны к элементу управления. Итак, строки или столбца нет.

Ответ №2:

Чтобы получить ссылку на элемент управления в repeater, я использую FindControl() , который принимает имя элемента управления, которое было присвоено атрибуту id.

 Dim EmployeeRepeater as Repeater = CType(Me.Form.FindControl("EmployeeRepeater")
Dim EmployeeRepeaterItem as RepeaterItem
Dim EmployeeName as Textbox

For Each EmployeeRepeaterItem In EmployeeRepeater.Items
    Employeename = CType(EmployeeRepeaterItem.FindControl("EmployeenNameTextBox")
    'do something here with Employee Name
Next
  

Ответ №3:

 Button btn = sender as Button;
if (btn != null)
{
    RepeaterItem ri = btn.NamingContainer as RepeaterItem;
    if (ri != null)
        // use ri here as you see fit...  ri is a pointer to the item where the button was clicked.
}