我正在使用 UltraWinGrid 顯示已采取的操作串列。這最初是一個 web 應用程式,現在正在轉換為一個 winforms 應用程式,并且操作通常具有 HTML 格式。我已將列設定為使用 FormattedText:
band.Columns["Result"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText;
這里唯一的 HTML 標記是粗體和換行符,根據我在網上看到的所有內容,這兩者都應該由 FormattedText 單元格呈現。但這是結果:
有沒有讓 FormattedText 作業的技巧?此樣式所依賴的網格的其他一些設定?這些是我在網格上使用的設定:
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,但結果沒有任何變化。為了讓事情變得更加混亂,換行符在同一個網格中作業,但具有不同的專案:

我能看到的唯一區別是第二個示例只有換行符,而第一個示例在同一單元格中組合了換行符和粗體標記。
uj5u.com熱心網友回復:
我使用您在示例中為網格設定的相同修改創建了一個網格:
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>但未正確應用樣式。
當我注釋掉以下行時:
this.ultraGrid1.DisplayLayout.Bands[0].Override.CellDisplayStyle = CellDisplayStyle.FormattedText;
然后我的網格正確呈現,如下所示:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/318266.html
上一篇:程式集/DLL加載
下一篇:添加現有專案問題?
