DataGridTableStyle Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет таблицу, нарисованную элементом управления DataGrid во время выполнения.
public ref class DataGridTableStyle : System::ComponentModel::Component, System::Windows::Forms::IDataGridEditingService
public class DataGridTableStyle : System.ComponentModel.Component, System.Windows.Forms.IDataGridEditingService
type DataGridTableStyle = class
inherit Component
interface IDataGridEditingService
Public Class DataGridTableStyle
Inherits Component
Implements IDataGridEditingService
- Наследование
- Реализации
Примеры
В следующем примере кода создаются два DataGridTableStyle экземпляра и присваивается свойству MappingName каждого объекта TableName значение объекта DataTable в DataSet. Затем в примере добавляются DataGridColumnStyle объекты в GridColumnStylesCollection объект каждого DataGridTableStyleобъекта . Пример выполнения см. в System.Windows.Forms.DataGrid этом примере.
void AddCustomDataTableStyle()
{
/* Create a new DataGridTableStyle and set
its MappingName to the TableName of a DataTable. */
DataGridTableStyle^ ts1 = gcnew DataGridTableStyle;
ts1->MappingName = "Customers";
/* Add a GridColumnStyle and set its MappingName
to the name of a DataColumn in the DataTable.
Set the HeaderText and Width properties. */
DataGridColumnStyle^ boolCol = gcnew DataGridBoolColumn;
boolCol->MappingName = "Current";
boolCol->HeaderText = "IsCurrent Customer";
boolCol->Width = 150;
ts1->GridColumnStyles->Add( boolCol );
// Add a second column style.
DataGridColumnStyle^ TextCol = gcnew DataGridTextBoxColumn;
TextCol->MappingName = "custName";
TextCol->HeaderText = "Customer Name";
TextCol->Width = 250;
ts1->GridColumnStyles->Add( TextCol );
// Create the second table style with columns.
DataGridTableStyle^ ts2 = gcnew DataGridTableStyle;
ts2->MappingName = "Orders";
// Change the colors.
ts2->ForeColor = Color::Yellow;
ts2->AlternatingBackColor = Color::Blue;
ts2->BackColor = Color::Blue;
// Create new DataGridColumnStyle objects.
DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn;
cOrderDate->MappingName = "OrderDate";
cOrderDate->HeaderText = "Order Date";
cOrderDate->Width = 100;
ts2->GridColumnStyles->Add( cOrderDate );
PropertyDescriptorCollection^ pcol = this->BindingContext[ myDataSet,"Customers.custToOrders" ]->GetItemProperties();
DataGridColumnStyle^ csOrderAmount = gcnew DataGridTextBoxColumn( pcol[ "OrderAmount" ],"c",true );
csOrderAmount->MappingName = "OrderAmount";
csOrderAmount->HeaderText = "Total";
csOrderAmount->Width = 100;
ts2->GridColumnStyles->Add( csOrderAmount );
// Add the DataGridTableStyle objects to the collection.
myDataGrid->TableStyles->Add( ts1 );
myDataGrid->TableStyles->Add( ts2 );
}
private void AddCustomDataTableStyle()
{
/* Create a new DataGridTableStyle and set
its MappingName to the TableName of a DataTable. */
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1.MappingName = "Customers";
/* Add a GridColumnStyle and set its MappingName
to the name of a DataColumn in the DataTable.
Set the HeaderText and Width properties. */
DataGridColumnStyle boolCol = new DataGridBoolColumn();
boolCol.MappingName = "Current";
boolCol.HeaderText = "IsCurrent Customer";
boolCol.Width = 150;
ts1.GridColumnStyles.Add(boolCol);
// Add a second column style.
DataGridColumnStyle TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "custName";
TextCol.HeaderText = "Customer Name";
TextCol.Width = 250;
ts1.GridColumnStyles.Add(TextCol);
// Create the second table style with columns.
DataGridTableStyle ts2 = new DataGridTableStyle();
ts2.MappingName = "Orders";
// Change the colors.
ts2.ForeColor = Color.Yellow;
ts2.AlternatingBackColor = Color.Blue;
ts2.BackColor = Color.Blue;
// Create new DataGridColumnStyle objects.
DataGridColumnStyle cOrderDate =
new DataGridTextBoxColumn();
cOrderDate.MappingName = "OrderDate";
cOrderDate.HeaderText = "Order Date";
cOrderDate.Width = 100;
ts2.GridColumnStyles.Add(cOrderDate);
PropertyDescriptorCollection pcol = this.BindingContext
[myDataSet, "Customers.custToOrders"].GetItemProperties();
DataGridColumnStyle csOrderAmount =
new DataGridTextBoxColumn(pcol["OrderAmount"], "c", true);
csOrderAmount.MappingName = "OrderAmount";
csOrderAmount.HeaderText = "Total";
csOrderAmount.Width = 100;
ts2.GridColumnStyles.Add(csOrderAmount);
// Add the DataGridTableStyle objects to the collection.
myDataGrid.TableStyles.Add(ts1);
myDataGrid.TableStyles.Add(ts2);
}
Private Sub AddCustomDataTableStyle()
' Create a new DataGridTableStyle and set
' its MappingName to the TableName of a DataTable.
Dim ts1 As New DataGridTableStyle()
ts1.MappingName = "Customers"
' Add a GridColumnStyle and set its MappingName
' to the name of a DataColumn in the DataTable.
' Set the HeaderText and Width properties.
Dim boolCol As New DataGridBoolColumn()
boolCol.MappingName = "Current"
boolCol.HeaderText = "IsCurrent Customer"
boolCol.Width = 150
ts1.GridColumnStyles.Add(boolCol)
' Add a second column style.
Dim TextCol As New DataGridTextBoxColumn()
TextCol.MappingName = "custName"
TextCol.HeaderText = "Customer Name"
TextCol.Width = 250
ts1.GridColumnStyles.Add(TextCol)
' Create the second table style with columns.
Dim ts2 As New DataGridTableStyle()
ts2.MappingName = "Orders"
' Change the colors.
ts2.ForeColor = Color.Yellow
ts2.AlternatingBackColor = Color.Blue
ts2.BackColor = Color.Blue
' Create new DataGridColumnStyle objects.
Dim cOrderDate As New DataGridTextBoxColumn()
cOrderDate.MappingName = "OrderDate"
cOrderDate.HeaderText = "Order Date"
cOrderDate.Width = 100
ts2.GridColumnStyles.Add(cOrderDate)
Dim pcol As PropertyDescriptorCollection = Me.BindingContext(myDataSet, "Customers.custToOrders").GetItemProperties()
Dim csOrderAmount As New DataGridTextBoxColumn(pcol("OrderAmount"), "c", True)
csOrderAmount.MappingName = "OrderAmount"
csOrderAmount.HeaderText = "Total"
csOrderAmount.Width = 100
ts2.GridColumnStyles.Add(csOrderAmount)
' Add the DataGridTableStyle objects to the collection.
myDataGrid.TableStyles.Add(ts1)
myDataGrid.TableStyles.Add(ts2)
End Sub
Комментарии
Элемент System.Windows.Forms.DataGrid управления отображает данные в виде сетки. DataGridTableStyle— это класс, представляющий только нарисованную сетку. Эту сетку не следует путать с классом DataTable , который является возможным источником данных для сетки. Вместо этого строго представляет сетку в том виде, DataGridTableStyle в который она закрашена в элементе управления . Таким образом, с помощью DataGridTableStyle можно управлять внешним видом сетки для каждого DataTable. Чтобы указать, какой DataGridTableStyle из них используется при отображении данных из определенного DataTableобъекта , присвойте MappingName свойству TableNameDataTableзначение .
Объект , GridTableStylesCollection полученный с помощью TableStyles свойства , содержит все объекты, DataGridTableStyle используемые элементом System.Windows.Forms.DataGrid управления . Коллекция может содержать любое необходимое количество DataGridTableStyle объектов, однако MappingName каждый из них должен быть уникальным. Во время выполнения это позволяет заменить разные DataGridTableStyle данные в зависимости от предпочтений пользователя. Для этого выполните следующие действия.
Заполните объект объектами GridTableStylesCollectionDataGridTableStyle . Если в объекте существует объект , значение свойства которого MappingName равно свойству DataTableDataTable объектаTableName, отображается с этим DataGridTableStyle.DataGridTableStyleGridTableStylesCollection Если с DataGridTableStyle соответствующим MappingNameзначением не существует , DataTable отображается со стилем по умолчанию для таблиц сетки данных.
Если требуется другой стиль сетки
Item
, используйте свойство , чтобы выбрать соответствующий DataGridTableStyle (передать TableNameItem[] в свойство ) и задать MappingName для возвращаемого объекта новое значение.Используйте свойство , Item[] чтобы выбрать нужный DataGridTableStyleобъект и присвоить TableName ей MappingName значение .DataTable
Внимание!
Всегда создавайте DataGridColumnStyle объекты и добавляйте их в перед GridColumnStylesCollection добавлением DataGridTableStyle объектов в GridTableStylesCollection. При добавлении пустого DataGridTableStyle объекта с допустимым MappingName значением в коллекцию DataGridColumnStyle автоматически создаются объекты. Следовательно, при попытке добавить новые DataGridColumnStyle объекты с повторяющимися MappingName значениями GridColumnStylesCollectionв будет создано исключение .
Чтобы определить, какой DataGridTableStyle объект отображается в данный момент, используйте DataSource свойства и DataMember объекта для System.Windows.Forms.DataGrid возврата CurrencyManager. Если источник данных реализует ITypedList интерфейс , можно использовать GetListName метод для возврата MappingName объекта текущей таблицы. Это показано в коде C# ниже:
private void PrintCurrentListName(DataGrid myDataGrid){
CurrencyManager myCM = (CurrencyManager)
BindingContext[myDataGrid.DataSource, myDataGrid.DataMember];
IList myList = myCM.List;
ITypedList thisList = (ITypedList) myList;
Console.WriteLine(thisList.GetListName(null));
}
DataSet Если объект содержит DataTable объекты, связанные с помощью DataRelation объектов , и отображаемая DataTable в данный момент таблица является дочерней таблицейDataMember, объект вернет строку в виде TableName.RelationName (в простейшем случае).
DataTable Если объект находится ниже в иерархии, строка будет состоять из имени родительской таблицы, за которой следуют значения, необходимые RelationName для достижения уровня таблицы. Например, представьте себе три DataTable объекта в иерархической связи с именами (сверху вниз) Regions
, Customers
и , а Orders
также два DataRelation объекта с именами RegionsToCustomers
и CustomersToOrders
, DataMember свойство вернет "Regions.RegionsToCustomers.CustomersToOrders". Однако затем MappingName будет иметь значение "Orders".
Коллекция DataGridTableStyle объектов возвращается через TableStyles свойство объекта System.Windows.Forms.DataGrid.
DataGridTableStyle При отображении параметры для DataGridTableStyle будут переопределять параметры элемента System.Windows.Forms.DataGrid управления . Если значение не задано для определенного DataGridTableStyleSystem.Windows.Forms.DataGrid свойства, вместо него будет использоваться значение элемента управления . В следующем списке DataGridColumnStyle показаны свойства, которые можно задать для переопределения System.Windows.Forms.DataGrid свойств элемента управления.
Чтобы привязать DataGrid к строго типизированному массиву объектов, тип объекта должен содержать открытые свойства. Чтобы создать объект , отображающий DataGridTableStyle массив, присвойте свойству DataGridTableStyle.MappingNametypename
значение , где typename
заменяется именем типа объекта. Также обратите внимание, что в свойстве MappingName учитывается регистр; имя типа должно быть точно совпадать. Пример см. в MappingName свойстве .
Можно также привязать DataGrid к ArrayList. Особенность заключается в ArrayList том, что он может содержать объекты нескольких типов, но DataGrid может привязаться к такому списку только в том случае, если все элементы в списке имеют тот же тип, что и первый элемент. Это означает, что все объекты должны быть одного типа или наследоваться от того же класса, что и первый элемент в списке. Например, если первым элементом в списке является , вторым элементом Controlможет быть TextBox (который наследуется от Control). Если, с другой стороны, первым элементом TextBoxявляется , второй объект не может быть Control. Кроме того, ArrayList объект должен содержать элементы, если он привязан, а объекты в должны содержать открытые DataGridTableStyle свойства. ArrayList Пустое приведет к пустой сетке. При привязке ArrayListк свойству присвойте MappingName свойству DataGridTableStyle значение ArrayList (имя типа).
Конструкторы
DataGridTableStyle() |
Инициализирует новый экземпляр класса DataGridTableStyle. |
DataGridTableStyle(Boolean) |
Инициализирует новый экземпляр класса DataGridTableStyle, используя заданное значение, чтобы определить, применен ли для таблицы стиль по умолчанию. |
DataGridTableStyle(CurrencyManager) |
Инициализирует новый экземпляр класса DataGridTableStyle указанным значением CurrencyManager. |
Поля
DefaultTableStyle |
Получает стиль таблицы по умолчанию. |
Свойства
AllowSorting |
Указывает, разрешена ли сортировка в таблице, когда используется DataGridTableStyle. |
AlternatingBackColor |
Получает или задает цвет фона строк сетки с нечетными номерами. |
BackColor |
Получает или задает цвет фона строк сетки с четными номерами. |
CanRaiseEvents |
Возвращает значение, показывающее, может ли компонент вызывать событие. (Унаследовано от Component) |
ColumnHeadersVisible |
Получает или задает значение, показывающее, являются ли заголовки столбцов видимыми. |
Container |
Возвращает объект IContainer, который содержит коллекцию Component. (Унаследовано от Component) |
DataGrid |
Получает или задает элемент управления DataGrid для нарисованной таблицы. |
DesignMode |
Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время. (Унаследовано от Component) |
Events |
Возвращает список обработчиков событий, которые прикреплены к этому объекту Component. (Унаследовано от Component) |
ForeColor |
Получает или задает основной цвет таблицы. |
GridColumnStyles |
Получает коллекцию столбцов, нарисованных для данной таблицы. |
GridLineColor |
Получает или задает цвет линий сетки. |
GridLineStyle |
Получает или задает стиль линий сетки. |
HeaderBackColor |
Получает или задает цвет фона заголовков. |
HeaderFont |
Получает или задает шрифт, используемый для названий заголовка. |
HeaderForeColor |
Получает или задает основной цвет заголовков. |
LinkColor |
Получает или задает цвет текста ссылки. |
LinkHoverColor |
Получает или задает цвет, который отображается при наведении указателя мыши на текст ссылки. |
MappingName |
Получает или задает имя, используемое для связывания этой таблицы с некоторым источником данных. |
PreferredColumnWidth |
Получает или задает ширину, используемую для создания столбцов при отображении новой сетки. |
PreferredRowHeight |
Получает или задает высоту, используемую для создания строк при отображении новой сетки. |
ReadOnly |
Получает или задает значение, показывающее, разрешено ли редактирование столбцов. |
RowHeadersVisible |
Получает или задает значение, показывающее, видимы ли заголовки строк. |
RowHeaderWidth |
Получает или задает ширину заголовков строк. |
SelectionBackColor |
Получает или задает цвет фона выбранных ячеек. |
SelectionForeColor |
Получает или задает основной цвет выбранных ячеек. |
Site |
Получает или задает ISite объекта Component. (Унаследовано от Component) |
Методы
BeginEdit(DataGridColumnStyle, Int32) |
Запрашивает операцию редактирования. |
CreateGridColumn(PropertyDescriptor) |
Создает DataGridColumnStyle с помощью заданного дескриптора свойства. |
CreateGridColumn(PropertyDescriptor, Boolean) |
Создает DataGridColumnStyle с помощью заданного дескриптора свойства. Определяет, является ли DataGridColumnStyle стилем столбца по умолчанию. |
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Dispose() |
Освобождает все ресурсы, занятые модулем Component. (Унаследовано от Component) |
Dispose(Boolean) |
Уничтожает ресурсы (кроме памяти), используемые классом DataGridTableStyle. |
EndEdit(DataGridColumnStyle, Int32, Boolean) |
Запрашивает окончание операции редактирования. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Устаревшие..
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container. (Унаследовано от Component) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
OnAllowSortingChanged(EventArgs) |
Вызывает событие AllowSortingChanged. |
OnAlternatingBackColorChanged(EventArgs) |
Вызывает событие AlternatingBackColorChanged. |
OnBackColorChanged(EventArgs) |
Вызывает событие BackColorChanged. |
OnColumnHeadersVisibleChanged(EventArgs) |
Вызывает событие ColumnHeadersVisibleChanged. |
OnForeColorChanged(EventArgs) |
Вызывает событие ForeColorChanged. |
OnGridLineColorChanged(EventArgs) |
Вызывает событие GridLineColorChanged. |
OnGridLineStyleChanged(EventArgs) |
Вызывает событие GridLineStyleChanged. |
OnHeaderBackColorChanged(EventArgs) |
Вызывает событие HeaderBackColorChanged. |
OnHeaderFontChanged(EventArgs) |
Вызывает событие HeaderFontChanged. |
OnHeaderForeColorChanged(EventArgs) |
Вызывает событие HeaderForeColorChanged. |
OnLinkColorChanged(EventArgs) |
Вызывает событие LinkColorChanged. |
OnLinkHoverColorChanged(EventArgs) |
Вызывает событие |
OnMappingNameChanged(EventArgs) |
Вызывает событие MappingNameChanged. |
OnPreferredColumnWidthChanged(EventArgs) |
Вызывает событие PreferredColumnWidthChanged. |
OnPreferredRowHeightChanged(EventArgs) |
Вызывает событие PreferredRowHeightChanged. |
OnReadOnlyChanged(EventArgs) |
Вызывает событие ReadOnlyChanged. |
OnRowHeadersVisibleChanged(EventArgs) |
Вызывает событие RowHeadersVisibleChanged. |
OnRowHeaderWidthChanged(EventArgs) |
Вызывает событие RowHeaderWidthChanged. |
OnSelectionBackColorChanged(EventArgs) |
Вызывает событие SelectionBackColorChanged. |
OnSelectionForeColorChanged(EventArgs) |
Вызывает событие SelectionForeColorChanged. |
ResetAlternatingBackColor() |
Восстанавливает значение по умолчанию свойства AlternatingBackColor. |
ResetBackColor() |
Восстанавливает значение по умолчанию свойства BackColor. |
ResetForeColor() |
Восстанавливает значение по умолчанию свойства ForeColor. |
ResetGridLineColor() |
Восстанавливает значение по умолчанию свойства GridLineColor. |
ResetHeaderBackColor() |
Восстанавливает значение по умолчанию свойства HeaderBackColor. |
ResetHeaderFont() |
Восстанавливает значение по умолчанию свойства HeaderFont. |
ResetHeaderForeColor() |
Восстанавливает значение по умолчанию свойства HeaderForeColor. |
ResetLinkColor() |
Восстанавливает значение по умолчанию свойства LinkColor. |
ResetLinkHoverColor() |
Восстанавливает значение по умолчанию свойства LinkHoverColor. |
ResetSelectionBackColor() |
Восстанавливает значение по умолчанию свойства SelectionBackColor. |
ResetSelectionForeColor() |
Восстанавливает значение по умолчанию свойства SelectionForeColor. |
ShouldSerializeAlternatingBackColor() |
Определяет необходимость сохранения значения свойства AlternatingBackColor. |
ShouldSerializeBackColor() |
Определяет необходимость сохранения значения свойства BackColor. |
ShouldSerializeForeColor() |
Определяет необходимость сохранения значения свойства ForeColor. |
ShouldSerializeGridLineColor() |
Определяет необходимость сохранения значения свойства GridLineColor. |
ShouldSerializeHeaderBackColor() |
Определяет необходимость сохранения значения свойства HeaderBackColor. |
ShouldSerializeHeaderForeColor() |
Определяет необходимость сохранения значения свойства HeaderForeColor. |
ShouldSerializeLinkColor() |
Определяет необходимость сохранения значения свойства LinkColor. |
ShouldSerializeLinkHoverColor() |
Определяет необходимость сохранения значения свойства LinkHoverColor. |
ShouldSerializePreferredRowHeight() |
Определяет необходимость сохранения значения свойства PreferredRowHeight. |
ShouldSerializeSelectionBackColor() |
Определяет необходимость сохранения значения свойства SelectionBackColor. |
ShouldSerializeSelectionForeColor() |
Определяет необходимость сохранения значения свойства SelectionForeColor. |
ToString() |
Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять. (Унаследовано от Component) |
События
AllowSortingChanged |
Происходит при изменении значения свойства AllowSorting. |
AlternatingBackColorChanged |
Происходит при изменении значения свойства AlternatingBackColor. |
BackColorChanged |
Происходит при изменении значения свойства BackColor. |
ColumnHeadersVisibleChanged |
Происходит при изменении значения свойства ColumnHeadersVisible. |
Disposed |
Возникает при удалении компонента путем вызова метода Dispose(). (Унаследовано от Component) |
ForeColorChanged |
Происходит при изменении значения свойства ForeColor. |
GridLineColorChanged |
Происходит при изменении значения свойства GridLineColor. |
GridLineStyleChanged |
Происходит при изменении значения свойства GridLineStyle. |
HeaderBackColorChanged |
Происходит при изменении значения свойства HeaderBackColor. |
HeaderFontChanged |
Происходит при изменении значения свойства HeaderFont. |
HeaderForeColorChanged |
Происходит при изменении значения свойства HeaderForeColor. |
LinkColorChanged |
Происходит при изменении значения свойства LinkColor. |
LinkHoverColorChanged |
Происходит при изменении значения свойства LinkHoverColor. |
MappingNameChanged |
Происходит при изменении значения свойства MappingName. |
PreferredColumnWidthChanged |
Происходит при изменении значения свойства PreferredColumnWidth. |
PreferredRowHeightChanged |
Происходит при изменении значения свойства PreferredRowHeight. |
ReadOnlyChanged |
Происходит при изменении значения свойства ReadOnly. |
RowHeadersVisibleChanged |
Происходит при изменении значения свойства RowHeadersVisible. |
RowHeaderWidthChanged |
Происходит при изменении значения свойства RowHeaderWidth. |
SelectionBackColorChanged |
Происходит при изменении значения свойства SelectionBackColor. |
SelectionForeColorChanged |
Происходит при изменении значения свойства SelectionForeColor. |