【问题标题】:How to make the UltragridColumn Style URL editable如何使 UltragridColumn 样式 URL 可编辑
【发布时间】:2013-07-30 06:28:46
【问题描述】:

我有一个Ultragrid,它的列样式为 URL。此列默认为只读,颜色为灰色。现在我必须将此列设为可编辑。当它是 URL 时,我尝试更改列样式。但它不起作用。

//代码:

If (CType(Field.FieldTypeId, ColumnStyle) = ColumnStyle.URL) Then
         UltraGridColumn.Style = ColumnStyle.Default
Else
         UltraGridColumn.Style = CType(Field.FieldTypeId, ColumnStyle)
End If

我怎样才能做到这一点?

【问题讨论】:

    标签: vb.net infragistics ultrawingrid


    【解决方案1】:

    使 UltraGridColumn 可编辑取决于许多属性。

    首先,UltraGrid 应该允许更新。这是由属性控制的

    grid.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.True
    

    使用此属性,您可以更新整个网格(您可以在 Bands 级别应用相同的属性来限制此操作)。但是,这还不足以启用编辑,因为您需要设置(对于个人列)另外两个属性

    column.CellActivation = Activation.AllowEdit
    column.CellClickAction = CellClickAction.Edit
    

    不过,我对 URL 样式做了一些研究。似乎这种样式为您的列分配了一个 FormattedLinkEditor 对象,该对象不允许以任何方式编辑链接文本(它被视为标签)。所以我建议,除非来自 Infragistics 的人有更好的建议,否则使用普通的编辑列。 (当然,如果您的意图只是编辑链接文本)

    这个简短的示例捕获了对单元格的点击并尝试启动编辑会话,但没有成功

        private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
        {
            UltraGridColumn cc = e.Layout.Bands[0].Columns[0];
            cc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.URL;
            (cc.Editor as FormattedLinkEditor).LinkClicked += Form1_LinkClicked;
            cc.CellActivation = Activation.AllowEdit;
            cc.CellClickAction = CellClickAction.EditAndSelectText;
            cc.Width = 500;
        }
    
        void Form1_LinkClicked(object sender, Infragistics.Win.FormattedLinkLabel.LinkClickedEventArgs e)
        {
            e.OpenLink = false;
            ultraGrid1.PerformAction(UltraGridAction.EnterEditMode);
        }
    

    【讨论】:

    猜你喜欢
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多