protected void SetRows(IEnumerable <RowObject> rows) { BeginUpdate(); SetObjects(rows); mFieldNames.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); mFieldNames.Width += 10; // Give it a bit of a margin to make it look better EndUpdate(); }
public void GenerateListView(ObjectListView varListView, List <ListViewColumnsInfo> nameSizeList) { List <OLVColumn> columnsList = new List <OLVColumn>(); var totalColumns = nameSizeList.Count(); int counter = 0; foreach (ListViewColumnsInfo nameSize in nameSizeList) { counter++; OLVColumn columnHeader = new BrightIdeasSoftware.OLVColumn(); columnHeader.Text = nameSize.Header; columnHeader.IsVisible = nameSize.Visible; columnHeader.AspectName = nameSize.Header; // Only for last column if (totalColumns == counter) { var lastColumn = nameSizeList.Last(); var withoutLastColumn = nameSizeList.Where(x => !x.Header.Equals(lastColumn)); var withOfAll = withoutLastColumn.Sum(x => x.ColumnSize); columnHeader.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize); int colWidthAfterAutoResizeByContent = columnHeader.Width; if (nameSize.ColumnSize > colWidthAfterAutoResizeByContent) { columnHeader.Width = nameSize.ColumnSize; } else { columnHeader.Width = colWidthAfterAutoResizeByContent; } } else { columnHeader.Width = nameSize.ColumnSize; } // Set header style var headerstyle = new HeaderFormatStyle(); headerstyle.SetBackColor(Color.FromArgb(83, 83, 91)); headerstyle.SetForeColor(Color.White); columnHeader.HeaderFormatStyle = headerstyle; if (nameSize.IsButton) { columnHeader.IsButton = nameSize.IsButton; columnHeader.TextAlign = HorizontalAlignment.Center; columnHeader.ButtonSizing = OLVColumn.ButtonSizingMode.FixedBounds; columnHeader.ButtonSize = new Size(15, 15); } columnsList.Add(columnHeader); varListView.AllColumns.Add(columnHeader); } varListView.Columns.AddRange(columnsList.Cast <System.Windows.Forms.ColumnHeader>().ToArray()); }