public override void PopulatePage()
{
colNic.Visible = ShowNicColumn;
dataGridView.Rows.Clear();
var vendorGroups = from device in FCDevices
group device by device.Vendor into g
orderby g.Key
select new { VendorName = g.Key, Devices = g.OrderBy(x => x.Serial) };
foreach (var vGroup in vendorGroups)
{
var vendorRow = new VendorRow(vGroup.VendorName);
dataGridView.Rows.Add(vendorRow);
using (var font = new Font(dataGridView.DefaultCellStyle.Font, FontStyle.Bold))
vendorRow.DefaultCellStyle = new DataGridViewCellStyle(dataGridView.DefaultCellStyle)
{
Font = font,
SelectionBackColor = dataGridView.DefaultCellStyle.BackColor,
SelectionForeColor = dataGridView.DefaultCellStyle.ForeColor
};
var deviceRows = from device in vGroup.Devices select new FCDeviceRow(device, ShowNicColumn);
dataGridView.Rows.AddRange(deviceRows.ToArray());
}
}