2012-04-23 3 views
0

내 실버 라이트 응용 프로그램에서 나는 radgridview, 페이지가 있습니다.이 radgridview RowDetailsTemplate 같이 다른 컨트롤이 있습니다.Radgridview 하나의 세부 행을 선택하십시오

이 RowDetailsTemplate은 다른 컨트롤이 RowDetailsTemplate 인 또 다른 radridrid 뷰입니다. 이 RowDetailsTemplate에는 radridridview도 있습니다.

모든있는 GridViews 내 뷰 모델에 여러 바인딩 (내가 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 행을 선택할 수 있음을 의미합니다. 이것은 매우 혼란스럽고 사용자 친화적이지 않습니다.

내 질문 :

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

관련 문제