I have a BindingList of Record set as the data source of an UltraTree. Record can contain a child list of Records forming an object tree.
There are two user visible fields on each Record, RecordType and VeryLongString. I would like the column of VeryLongString to alway fill the the available space. As much text of the string should be displayed. I have set Docking to Fill, used the OutlookExpress and other settings that seemed to have been suggested in this forum in the past. But I still am not getting the effect I want, the column is not filling the control area and then the data in VeryLongString gets trimmed and I only see ... for some of the data even through there is plenty of horizontal space. I tried turning TextTrimming to None but the trim still happens. Rougly here is what I am doing
What to I have to do to make VeryLongString column fill all available space and for the TextTrim NOT to happen.
enum RecordType{// type values}
public class Record{
public RecordType RecordType { get; }
public String VeryLongString{ get;}
public BindingList<Record> Records{ get { return ... // tree of child records}}
//construct control....
ultraTree1 = new Infragistics.Win.UltraWinTree.UltraTree(); ultraTree1.Override.ShowExpansionIndicator = Infragistics.Win.UltraWinTree.ShowExpansionIndicator.CheckOnDisplay; ultraTree1.Dock = DockStyle.Fill; ultraTree1.ViewStyle = Infragistics.Win.UltraWinTree.ViewStyle.OutlookExpress; ultraTree1.ColumnSetGenerated += ultraTree1_ColumnSetGenerated; ultraTree1.ColumnSettings.AutoGenerateColumnSets = true; ultraTree1.Appearance.TextTrimming = Infragistics.Win.TextTrimming.None; this.view_panel.Controls.Add(ultraTree1);
BindingList<Record> data = ...
ultraTree1.DataSource = data;
void ultraTree1_ColumnSetGenerated(object sender, Infragistics.Win.UltraWinTree.ColumnSetGeneratedEventArgs e){
for (int i = 0; i < e.ColumnSet.Columns.Count; i++) { Infragistics.Win.UltraWinTree.UltraTreeNodeColumn column = e.ColumnSet.Columns[i]; string s = column.Key; if (column.Key == "RecordType") { column.AllowCellEdit = Infragistics.Win.UltraWinTree.AllowCellEdit.Disabled; column.AutoSizeMode = Infragistics.Win.UltraWinTree.ColumnAutoSizeMode.None; column.LayoutInfo.PreferredLabelSize = new System.Drawing.Size(80, 20); column.LayoutInfo.PreferredCellSize = new System.Drawing.Size(80, 20);
} else if (column.Key == "VeryLongString") {
pathColumns.Add(column); column.AllowCellEdit = Infragistics.Win.UltraWinTree.AllowCellEdit.Full; column.AutoSizeMode = Infragistics.Win.UltraWinTree.ColumnAutoSizeMode.AllNodesWithDescendants; column.LayoutInfo.AllowLabelSizing = Infragistics.Win.UltraWinTree.LayoutSizing.Horizontal; column.PerformAutoResize(); }
}}
Hello,
As far as I understand you were able to solve this issue. Please let me know if you need my further assistance on this matter.
Thank you for using Infragistics Components.
When I followed the steps above I still saw a boarder around the panel. I needed to see it with out the boarder.
I wound up implementing it by dynamically shuffling the Controls collection at the top level form. So I am good now
I am just checking about the progress of this issue. Let me know If you need my further assistance on this issue?
Hello ,
Thank you for the provided code snipped, based on it I’ve implemented simple sample in order to test your issue. For the test I’ve used Infragistics 13 Service release 2023, and everything works fine for me. Please see attached sample and let me know if I am missing something.
I am waiting for your feedback