2012-04-23 3 views
0

В моем приложении silverlight у меня есть страница с radgridview, . У этого radgridview есть другой элемент управления как RowDetailsTemplate.Radgridview выберите только один ряд подробностей

В этом RowDetailsTemplate есть еще одно radgridview с другим элементом управления как RowDetailsTemplate. Этот RowDetailsTemplate также имеет radgridview.

Все GridViews несколько привязок к моей ViewModel (я использовал MVVM)

Иерархия такова:

- RadGridView 
     - RadGridView (in fact a seperate control with a gridview, setup as rowdetailstemplate on the parent gridview) 
      -RadGridView (in fact a seperate control with a gridview, setup as rowdetailstemplate on the parent gridview) 

В моей установке вы можете иметь один ряд выбран для каждой сетки/сетка деталей.

Это означает, что вы можете визуально отображать от 1 до N строк во всей сетке. Это выглядит довольно хаотично и не очень удобно.

Мой вопрос:

Каков наилучший способ изменить это так только одна строка может быть выбран, вместо 1 до N?

ответ

1

Я не знаю, будет ли это желаемый способ .. Но вы могли бы сделать что-то вроде этого ...

Private Sub AllGrids_ItemClicked(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) _ 
    Handles grd1.ItemCommand, grd2.ItemCommand, grd3.ItemCommand 
    dim gridSelected as New RadGrid 
    gridSelected = sender 
    If e.CommandName = "RowClick" Then 
     if gridSelected.ID = grd1.ID then 
      For i As Integer = 0 To grdMenu.Items.Count - 1 
      If grd2.Items(i).Selected Then 
       grd2.Items(i).Selected = False 
      End If 
      Next 
      For i As Integer = 0 To grdMenu.Items.Count - 1 
      If grd3.Items(i).Selected Then 
       grd3.Items(i).Selected = False 
      End If 
      Next 
     end if 
    End If 
    '' Do this again for each of the other grids. 
End Sub 

В основном вы бы цикл через решетки, которые не вызывают событие, чтобы отменить все ,

+0

Это решение кажется работоспособным, я надеялся найти что-то большее, чем MVVM, но это, безусловно, сделает. – Thomas

Смежные вопросы