【问题标题】:Select multiple cells in same column using UltraWinGrid使用 UltraWinGrid 在同一列中选择多个单元格
【发布时间】:2013-07-19 10:01:37
【问题描述】:

在网格中,我只需要在同一列中选择多个单元格。不应允许用户从不同列中选择单元格。

我试过下面的代码。

  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

上面的代码允许从差异列中选择单元格。告诉我哪里错了?

【问题讨论】:

    标签: infragistics ultrawingrid


    【解决方案1】:

    如果您使用的是 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;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-21
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      相关资源
      最近更新 更多