URL 单元格中的未定义协议
Undefined protocol in the URL cell
我有一个 UltraGridCell
样式等于 Infragistics.Win.UltraWinGrid.ColumnStyle.URL
并将我自己的处理程序添加到 UltraGrid.MouseClick
这样我就可以在 URL 列是点击了。
如果 URL 列的值为“ABCDE”,则没有错。它看起来像单元格中的 URL link,带有下划线和蓝色(单击后变为紫色)。它就像浏览器中的 URL link。
问题是如果内容是像“ABC:DE”这样的值。结果它抱怨有一个未定义的协议正在调用。就像你在IEURL栏输入“ABC://DE”一样
在调试模式下检查后,看起来这应该由 UltraGrid 内部调用。
因此,我的问题是:我有什么办法可以禁用此默认行为吗?
非常感谢任何帮助。
当您将列样式设置为 Infragistics.Win.UltraWinGrid.ColumnStyle.URL
时,列的编辑器将变为 Infragistics.Win.FormattedLinkLabel.FormattedLinkEditor
。该编辑器有 LinkClicked
事件。在事件处理程序中,您可以获得事件参数的 OpenLink
属性 并将其设置为 false
。这将抑制 link 打开。为此,首先在 InitializeLayout
事件中获取编辑器:
private void UltraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
// get the column you will set up
var column = e.Layout.Bands[YOUR_BAND_INDEX].Columns[YOUR_COLUMN_INDEX];
// set the style of the column (you already did this)
column.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.URL;
// get the editor after set the column style and handle LinkClicked event
var editor = column.Editor as FormattedLinkEditor;
editor.LinkClicked += this.Editor_LinkClicked;
}
然后在LinkClicked
事件停止link开场:
private void Editor_LinkClicked(object sender, Infragistics.Win.FormattedLinkLabel.LinkClickedEventArgs e)
{
e.OpenLink = false;
}
我有一个 UltraGridCell
样式等于 Infragistics.Win.UltraWinGrid.ColumnStyle.URL
并将我自己的处理程序添加到 UltraGrid.MouseClick
这样我就可以在 URL 列是点击了。
如果 URL 列的值为“ABCDE”,则没有错。它看起来像单元格中的 URL link,带有下划线和蓝色(单击后变为紫色)。它就像浏览器中的 URL link。
问题是如果内容是像“ABC:DE”这样的值。结果它抱怨有一个未定义的协议正在调用。就像你在IEURL栏输入“ABC://DE”一样
在调试模式下检查后,看起来这应该由 UltraGrid 内部调用。 因此,我的问题是:我有什么办法可以禁用此默认行为吗?
非常感谢任何帮助。
当您将列样式设置为 Infragistics.Win.UltraWinGrid.ColumnStyle.URL
时,列的编辑器将变为 Infragistics.Win.FormattedLinkLabel.FormattedLinkEditor
。该编辑器有 LinkClicked
事件。在事件处理程序中,您可以获得事件参数的 OpenLink
属性 并将其设置为 false
。这将抑制 link 打开。为此,首先在 InitializeLayout
事件中获取编辑器:
private void UltraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
// get the column you will set up
var column = e.Layout.Bands[YOUR_BAND_INDEX].Columns[YOUR_COLUMN_INDEX];
// set the style of the column (you already did this)
column.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.URL;
// get the editor after set the column style and handle LinkClicked event
var editor = column.Editor as FormattedLinkEditor;
editor.LinkClicked += this.Editor_LinkClicked;
}
然后在LinkClicked
事件停止link开场:
private void Editor_LinkClicked(object sender, Infragistics.Win.FormattedLinkLabel.LinkClickedEventArgs e)
{
e.OpenLink = false;
}