【问题标题】:UltraGrid event ClickCell is disabled when changing stylo更改样式时禁用 UltraGrid 事件 ClickCell
【发布时间】:2017-05-22 20:29:33
【问题描述】:

我有一个函数,可以在单击单元格时扩展和缩回超网格的线条。我正在使用以下代码:

columnUltraGrid.CellMultiLine = Infragistics.Win.DefaultableBoolean.True;
columnUltraGrid.Layout.Override.RowSizing = RowSizing.AutoFree;
columnUltraGrid.Layout.Override.RowSizingAutoMaxLines = 4;
columnUltraGrid.Layout.Bands[0].AutoPreviewEnabled = true;

从我添加此代码的那一刻起:

columnUltraGrid.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; 
columnUltraGrid.CellDisplayStyle = Infragistics.Win.UltraWinGrid.CellDisplayStyle.FormattedText;

有问题的单元格停止调用 ClickCell 事件。有问题的单元格停止调用clickcell事件,我需要使用这个命令来删除文本中包含的html格式,我没有找到其他方法,如果有人可以通知我另外格式化文本或启用事件调用我谢谢. 单元格的内容是一个 html,例如: 你好

【问题讨论】:

    标签: c# infragistics ultrawingrid


    【解决方案1】:

    我认为您的问题与列的样式无关,也与单元格的样式无关。第一次单击单元格时,默认情况下会进入编辑模式。此时在单元格上绘制了一个文本框,允许最终用户编辑单元格的数据。如果您再次单击单元格,您实际上是在单击此 TextBox,它会吃掉 click 事件。 您可以通过两种方式克服这个问题:

    1. 如果您不允许您的用户将单元格文本集 CellClickAction 编辑为 CellSelect 或 RowSelect,则选择更适合您的方案的方法;
    2. 如果您允许最终用户编辑单元格的文本,那么您需要处理 Infragistics 人员使用的 TextBox 的 Click 事件。为此,请处理网格的 ControlAdded 事件。网格的任何单元格第一次进入编辑模式时,TextBox 控件被添加到网格的 Controls 集合中。然后相同的 TextBox 用于编辑模式下的任何单元格。

    你可以这样做:

    private void UltraGrid1_ControlAdded(System.Object sender, System.Windows.Forms.ControlEventArgs e)
    {
        e.Control.Click += UltraGrid1_Editor_Click;
    }
    

    当 TextBox 因任何原因从网格中删除时,请不要忘记订阅:

    private void UltraGrid1_ControlRemoved(System.Object sender, System.Windows.Forms.ControlEventArgs e)
    {
        e.Control.Click -= UltraGrid1_Editor_Click;
    }
    

    【讨论】:

    • 第一个选项对我很有效!想知道为什么单元格变成全白并且删除选择并没有改变任何东西。是你提到的文本框。谢谢:)
    • 不知道是什么原因造成的。你有没有应用一些外观。如果您将 SelectedCellAppearance ForeColor 和 BackColor 都设置为白色,您将没有可见的文本结束。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2018-03-09
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多