private void ReloadControl()
{
if (ControllerListView != null)
ControllerListView.BeginUpdate();
try
{
//Load the list
ControllerListView.Items.Clear();
var list = (TableCollection)this.Object;
foreach (var table in list.OrderBy(x => x.Name))
{
var newItem = new ListViewItem(table.Name);
newItem.Tag = table;
newItem.Name = table.Key;
if (!table.Generated)
newItem.ImageIndex = ImageHelper.GetImageIndex(TreeIconConstants.TableNonGen);
else if (table.AssociativeTable)
newItem.ImageIndex = ImageHelper.GetImageIndex(TreeIconConstants.TableAssociative);
else if (table.IsTypeTable)
newItem.ImageIndex = ImageHelper.GetImageIndex(TreeIconConstants.TableType);
else if (table.ParentTable != null)
newItem.ImageIndex = ImageHelper.GetImageIndex(TreeIconConstants.TableDerived);
else
newItem.ImageIndex = ImageHelper.GetImageIndex(TreeIconConstants.Table);
newItem.SubItems.Add(table.CodeFacade);
newItem.SubItems.Add(table.Columns.Count.ToString());
newItem.SubItems.Add(string.IsNullOrEmpty(table.DBSchema) ? "dbo" : table.DBSchema);
ControllerListView.Items.Add(newItem);
}
}
catch (Exception ex)
{
throw;
}
finally
{
if (this.ControllerListView != null)
this.ControllerListView.EndUpdate();
}
}