首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormattedText不在UltraWinGrid工作

FormattedText不在UltraWinGrid工作
EN

Stack Overflow用户
提问于 2021-10-07 08:18:47
回答 1查看 120关注 0票数 1

我正在使用一个UltraWinGrid来显示已经执行的操作列表。这最初是一个webapp,正在被转换成一个winforms应用程序,这些操作通常都有HTML格式。我已经将列设置为使用FormattedText:

代码语言:javascript
复制
band.Columns["Result"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText;

这里唯一的HTML标记是粗体和换行,根据我在网上看到的所有内容,这两个标记都应该由FormattedText单元格呈现。但结果是:

让FormattedText工作有什么窍门吗?此样式所依赖的网格的其他设置?下面是我在网格中使用的设置:

代码语言:javascript
复制
UltraGridBand band = grd.DisplayLayout.Bands[0];
band.Override.CellDisplayStyle = CellDisplayStyle.FormattedText;
grd.UseOsThemes = DefaultableBoolean.False;
grd.DisplayLayout.Override.CellClickAction = CellClickAction.RowSelect;
grd.DisplayLayout.Override.RowSizing = RowSizing.AutoFree;
grd.DisplayLayout.Override.CellMultiLine = DefaultableBoolean.True;
grd.DisplayLayout.ViewStyleBand = ViewStyleBand.Horizontal;
grd.DisplayLayout.Override.SelectTypeCell = SelectType.None;
grd.DisplayLayout.Override.SelectTypeRow = SelectType.Single;
grd.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
grd.DisplayLayout.Override.AllowDelete = DefaultableBoolean.False;
grd.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.False;
grd.DisplayLayout.Override.ActiveRowAppearance.Reset();
grd.DisplayLayout.Override.ActiveRowCellAppearance.Reset();

如您所见,我甚至尝试将整个网格默认为FormattedText,但结果没有任何变化。为了使事情更令人困惑,换行符在相同的网格中工作,但使用的是不同的项目:

我看到的唯一不同之处是,第二个示例只有换行,而第一个示例在同一个单元格中合并了换行符和粗体标记。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-07 09:36:22

我使用您在示例中为网格设置的相同修改创建了一个网格:

代码语言:javascript
复制
this.ultraGrid1.DisplayLayout.Bands[0].Override.CellDisplayStyle = CellDisplayStyle.FormattedText;
this.ultraGrid1.UseOsThemes = DefaultableBoolean.False;
this.ultraGrid1.DisplayLayout.Override.CellClickAction = CellClickAction.RowSelect;
this.ultraGrid1.DisplayLayout.Override.RowSizing = RowSizing.AutoFree;
this.ultraGrid1.DisplayLayout.Override.CellMultiLine = DefaultableBoolean.True;
this.ultraGrid1.DisplayLayout.ViewStyleBand = ViewStyleBand.Horizontal;
this.ultraGrid1.DisplayLayout.Override.SelectTypeCell = SelectType.None;
this.ultraGrid1.DisplayLayout.Override.SelectTypeRow = SelectType.Single;
this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
this.ultraGrid1.DisplayLayout.Override.AllowDelete = DefaultableBoolean.False;
this.ultraGrid1.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.False;
this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance.Reset();
this.ultraGrid1.DisplayLayout.Override.ActiveRowCellAppearance.Reset();
this.ultraGrid1.DisplayLayout.Bands[0].Columns[0].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText;

这给了我同样的结果,你正在经历如下所示:

正如您所看到的,它正在提取列文本中的一些html标记,例如:<b><i><u><font>,但没有正确地应用样式。

当我注释掉以下一行时:

代码语言:javascript
复制
this.ultraGrid1.DisplayLayout.Bands[0].Override.CellDisplayStyle = CellDisplayStyle.FormattedText;

然后,我的网格正确地呈现如下所示:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69477709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档