Стили добавлять мы научились попробуем, теперь изменять стили на "лету". Добавим в таблице ещё один стиль, который бы отображал Id покупателя вместо его имени.
DataGridTableStyle ts1 = new DataGridTableStyle(); ts1.MappingName = "Customers"; if(ts1.GridColumnStyles.Count == 0) { DataGridTextBoxColumn gc1 = new DataGridTextBoxColumn(); ts1.GridColumnStyles.Add(gc1); gc1.MappingName = "customer_id"; gc1.HeaderText = "Id покупателя";
Попробуем откомпилировать проект и попробуем запустить, у нас возникнет ошибка так как к одной таблице в базе можно применять только один стиль в текущий момент. Поэтому
ts1.MappingName = "";
Добавим теперь к форме кнопку, при нажатии на которую теперь бы у нас изменялся стиль отображения данных на другой. Вот тело функции
FirstSecond = !FirstSecond; ShowTables.TableStyles[0].MappingName = ""; ShowTables.TableStyles[1].MappingName = ""; if(FirstSecond) { ShowTables.TableStyles[0].MappingName = "Customers"; } else { ShowTables.TableStyles[1].MappingName = "Customers"; }
Сперва мы установим для обеих MappingName в "", чтобы не возникало проблем
ShowTables.TableStyles[0].MappingName = ""; ShowTables.TableStyles[1].MappingName = "";
И затем установим нужный стиль присвоив MappingName имя таблицы.