infragistics - 使用 UltraWinGrid 选择同一列中的多个单元格

标签 infragistics 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

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

最佳答案

也许解决此任务的一种可能方法是使用 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;
        }
    }

关于infragistics - 使用 UltraWinGrid 选择同一列中的多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17743353/

相关文章:

c# - 获取 ultragridcolumn 的实际宽度

c# - 在基础设施的 ultragridview 中自动滚动

c# - 调整 Infragistics UltraGrid 的大小以完美适应其内容

javascript - 在编辑器对话框中按需填充 iggrid 组合框列

jquery - 基础设施 iggrid : add custom filter after rendering

c# - 如何在 Infragistics UltraWinGrid 中将绑定(bind)到集合类的列呈现为子行?

c# - Infragistics UltraWinGrid 禁用第一列

c# - Ultrawingrid - 根据唯一值选择行

vb.net - 取消 Infragistics UltraGrid 单元格单击事件

vb.net - 单击 ultrawingrid 列后立即禁用编辑模式