2013-07-19 54 views
2

在網格中,我必須僅選擇同一列中的多個單元格。不應允許用戶從差異列中選擇單元格。使用UltraWinGrid在同一列中選擇多個單元格

我試過下面的代碼。

Private Sub grdTransactions_InitializeLayout(ByVal sender As Object, _ 
    ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) _ 
    Handles grdTransactions.InitializeLayout 
     e.Layout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.CellSelect 
    End Sub 

    Private Sub grdTransactions_AfterSelectChange(sender As Object, _ 
    e As AfterSelectChangeEventArgs) Handles grdTransactions.AfterSelectChange 

     Me.grdTransactions.DisplayLayout.Override.SelectTypeCell = UltraWinGrid.SelectType.Single 
     Me.grdTransactions.DisplayLayout.Override.SelectTypeCol = UltraWinGrid.SelectType.Single 

     Me.grdTransactions.DisplayLayout.Bands(0).Override.SelectTypeCell = UltraWinGrid.SelectType.Extended 
     Me.grdTransactions.DisplayLayout.Bands(0).Override.SelectTypeCol = UltraWinGrid.SelectType.Single 

     Me.grdTransactions.DisplayLayout.Bands(0).Override.MultiCellSelectionMode = MultiCellSelectionMode.Default 

     Me.grdTransactions.DisplayLayout.Bands(0).Override.MaxSelectedCells = 100 

    End Sub 

上面的代碼允許從差異列中選擇單元格。告訴我我錯在哪裏?

回答

2

也許一種可能的方法來解決這個任務,可能是如果你正在使用ultraGrid1_BeforeSelectChange()事件。例如:

private void ultraGrid1_BeforeSelectChange(object sender, Infragistics.Win.UltraWinGrid.BeforeSelectChangeEventArgs e) 
    { 
     if (e.NewSelections.Cells.OfType<UltraGridCell>().First().Column.Key != e.NewSelections.Cells.OfType<UltraGridCell>().Last().Column.Key) 
     { 
      e.Cancel = true; 
     } 
    } 
+0

非常感謝你! – Karthik

相關問題