DataGridTableStyle Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa a tabela desenhada pelo controle DataGrid no tempo de execução.
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
- Herança
- Implementações
Exemplos
O exemplo de código a seguir cria duas DataGridTableStyle instâncias e define o MappingName de cada objeto como o TableName de um DataTable em um DataSet. Em seguida, o exemplo adiciona DataGridColumnStyle objetos ao GridColumnStylesCollection de cada DataGridTableStyle. Para obter um exemplo que é executado, consulte o System.Windows.Forms.DataGrid exemplo.
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
Comentários
O System.Windows.Forms.DataGrid controle exibe dados na forma de uma grade. O DataGridTableStyle é uma classe que representa apenas a grade desenhada. Essa grade não deve ser confundida com a DataTable classe , que é uma possível fonte de dados para a grade. Em vez disso, o DataGridTableStyle representa estritamente a grade à medida que é pintada no controle . Portanto, por meio do DataGridTableStyle , você pode controlar a aparência da grade para cada DataTable. Para especificar qual DataGridTableStyle é usado ao exibir dados de um determinado DataTable, defina o MappingName como o TableName de um DataTable.
O GridTableStylesCollection recuperado por meio da TableStyles propriedade contém todos os DataGridTableStyle objetos usados por um System.Windows.Forms.DataGrid controle . A coleção pode conter quantos DataGridTableStyle objetos forem necessários, no entanto, o MappingName de cada deve ser exclusivo. Em tempo de execução, isso permite substituir um diferente DataGridTableStyle pelos mesmos dados, dependendo da preferência do usuário. Para fazer isso:
Preencha o GridTableStylesCollection com DataGridTableStyle objetos . Se existir um no cujo valor de propriedade é igual à DataTable propriedade do TableName objeto, o DataTable será exibido com este DataGridTableStyle.MappingNameGridTableStylesCollectionDataGridTableStyle Se não DataGridTableStyle existir com um correspondente MappingName, o DataTable será exibido com o estilo padrão para tabelas de grade de dados.
Quando um estilo de grade diferente for necessário, use a
Item
propriedade para selecionar o apropriado DataGridTableStyle (passe o TableName para a Item[] propriedade) e defina o MappingName do objeto retornado como um novo valor.Use a Item[] propriedade para selecionar o desejado DataGridTableStylee defina como MappingName o TableName do DataTable.
Cuidado
Sempre crie DataGridColumnStyle objetos e adicione-os GridColumnStylesCollection ao antes de adicionar DataGridTableStyle objetos ao GridTableStylesCollection. Quando você adiciona um vazio DataGridTableStyle com um valor válido MappingName à coleção, DataGridColumnStyle os objetos são gerados automaticamente para você. Consequentemente, uma exceção será gerada se você tentar adicionar novos DataGridColumnStyle objetos com valores duplicados MappingName ao GridColumnStylesCollection.
Para determinar qual DataGridTableStyle é exibido no momento, use as DataSource propriedades e DataMember do System.Windows.Forms.DataGrid para retornar um CurrencyManager. Se a fonte de dados implementar a ITypedList interface , você poderá usar o GetListName método para retornar o MappingName da tabela atual. Isso é mostrado no código C# abaixo:
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));
}
Se o DataSet contiver DataTable objetos relacionados por meio DataRelation de objetos e o exibido DataTable atualmente for uma tabela filho, o DataMember retornará uma cadeia de caracteres na forma de TableName.RelationName (no caso mais simples). Se o DataTable estiver mais abaixo na hierarquia, a cadeia de caracteres consistirá no nome da tabela pai seguido pelos valores necessários RelationName necessários para alcançar o nível da tabela. Por exemplo, imagine três DataTable objetos em uma relação hierárquica chamada (de cima para baixo) Regions
, Customers
e Orders
, e dois DataRelation objetos chamados RegionsToCustomers
e CustomersToOrders
, a DataMember propriedade retornará "Regions.RegionsToCustomers.CustomersToOrders". No entanto, o MappingName será então "Pedidos".
A coleção de DataGridTableStyle objetos é retornada por meio da TableStyles propriedade do System.Windows.Forms.DataGrid.
Quando um DataGridTableStyle é exibido, as configurações do DataGridTableStyle substituirão as configurações do System.Windows.Forms.DataGrid controle. Se um valor não for definido para uma propriedade específica DataGridTableStyle , o System.Windows.Forms.DataGrid valor do controle será usado. A lista a seguir mostra as DataGridColumnStyle propriedades que podem ser definidas para substituir System.Windows.Forms.DataGrid as propriedades de controle:
Para associar o DataGrid a uma matriz fortemente tipada de objetos, o tipo de objeto deve conter propriedades públicas. Para criar um DataGridTableStyle que exibe a matriz, defina a DataGridTableStyle.MappingName propriedade como typename
onde typename
é substituída pelo nome do tipo de objeto. Observe também que a MappingName propriedade diferencia maiúsculas de minúsculas; o nome do tipo deve ser correspondido exatamente. Consulte a MappingName propriedade para obter um exemplo.
Você também pode associar o DataGrid a um ArrayList. Um recurso do ArrayList é que ele pode conter objetos de vários tipos, mas o DataGrid só pode se associar a essa lista quando todos os itens na lista são do mesmo tipo que o primeiro item. Isso significa que todos os objetos devem ser do mesmo tipo ou devem herdar da mesma classe que o primeiro item da lista. Por exemplo, se o primeiro item em uma lista for um Control, o segundo item poderá ser um TextBox (que herda de Control). Se, por outro lado, o primeiro item for um TextBox, o segundo objeto não poderá ser um Control. Além disso, o ArrayList deve ter itens quando está associado e os objetos no DataGridTableStyle devem conter propriedades públicas. Um vazio ArrayList resultará em uma grade vazia. Ao associar a um ArrayList, defina o DataGridTableStyleMappingName de como "ArrayList" (o nome do tipo).
Construtores
DataGridTableStyle() |
Inicializa uma nova instância da classe DataGridTableStyle. |
DataGridTableStyle(Boolean) |
Inicializa uma nova instância da classe DataGridTableStyle usando o valor especificado para determinar se a tabela da grade é o estilo padrão. |
DataGridTableStyle(CurrencyManager) |
Inicializa uma nova instância da classe DataGridTableStyle com o CurrencyManager especificado. |
Campos
DefaultTableStyle |
Obtém o estilo de tabela padrão. |
Propriedades
AllowSorting |
Indica se a classificação é permitida na tabela da grade quando esse DataGridTableStyle é usado. |
AlternatingBackColor |
Obtém ou define a cor da tela de fundo das linhas ímpares da grade. |
BackColor |
Obtém ou define a cor da tela de fundo das linhas pares da grade. |
CanRaiseEvents |
Obtém um valor que indica se o componente pode acionar um evento. (Herdado de Component) |
ColumnHeadersVisible |
Obtém ou define um valor que indica se os cabeçalhos de coluna estão visíveis. |
Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
DataGrid |
Obtém ou define o controle DataGrid para a tabela desenhada. |
DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
Events |
Obtém a lista de manipuladores de eventos que estão anexados a este Component. (Herdado de Component) |
ForeColor |
Obtém ou define a cor de primeiro plano da tabela da grade. |
GridColumnStyles |
Obtém a coleção de colunas desenhada para essa tabela. |
GridLineColor |
Obtém ou define a cor das linhas de grade. |
GridLineStyle |
Obtém ou define o estilo das linhas de grade. |
HeaderBackColor |
Obtém ou define a cor da tela de fundo dos cabeçalhos. |
HeaderFont |
Obtém ou define a fonte usada para a legenda do cabeçalho. |
HeaderForeColor |
Obtém ou define a cor de primeiro plano dos cabeçalhos. |
LinkColor |
Obtém ou define a cor do texto do link. |
LinkHoverColor |
Obtém ou define a cor exibida ao focalizar o texto do link. |
MappingName |
Obtém ou define o nome usado para mapear esta tabela para uma fonte de dados específica. |
PreferredColumnWidth |
Obtém ou define a largura usada para criar colunas quando uma nova grade é exibida. |
PreferredRowHeight |
Obtém ou define a altura usada para criar uma linha quando uma nova grade é exibida. |
ReadOnly |
Obtém ou define um valor que indica se as colunas podem ser editadas. |
RowHeadersVisible |
Obtém ou define um valor que indica se os cabeçalhos de linha estão visíveis. |
RowHeaderWidth |
Obtém ou define a largura dos cabeçalhos de linha. |
SelectionBackColor |
Obtém ou define a cor da tela de fundo das células selecionadas. |
SelectionForeColor |
Obtém ou define a cor de primeiro plano das células selecionadas. |
Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
Métodos
BeginEdit(DataGridColumnStyle, Int32) |
Solicita uma operação de edição. |
CreateGridColumn(PropertyDescriptor) |
Cria um DataGridColumnStyle usando o descritor da propriedade especificado. |
CreateGridColumn(PropertyDescriptor, Boolean) |
Cria um DataGridColumnStyle usando o descritor da propriedade especificado. Especifica se o DataGridColumnStyle é um estilo de coluna padrão. |
CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
Dispose(Boolean) |
Descarta os recursos (exceto a memória) usados pelo DataGridTableStyle. |
EndEdit(DataGridColumnStyle, Int32, Boolean) |
Solicita um fim para uma operação de edição. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
OnAllowSortingChanged(EventArgs) |
Aciona o evento AllowSortingChanged. |
OnAlternatingBackColorChanged(EventArgs) |
Aciona o evento AlternatingBackColorChanged. |
OnBackColorChanged(EventArgs) |
Aciona o evento BackColorChanged. |
OnColumnHeadersVisibleChanged(EventArgs) |
Aciona o evento ColumnHeadersVisibleChanged. |
OnForeColorChanged(EventArgs) |
Aciona o evento ForeColorChanged. |
OnGridLineColorChanged(EventArgs) |
Aciona o evento GridLineColorChanged. |
OnGridLineStyleChanged(EventArgs) |
Aciona o evento GridLineStyleChanged. |
OnHeaderBackColorChanged(EventArgs) |
Aciona o evento HeaderBackColorChanged. |
OnHeaderFontChanged(EventArgs) |
Aciona o evento HeaderFontChanged. |
OnHeaderForeColorChanged(EventArgs) |
Aciona o evento HeaderForeColorChanged. |
OnLinkColorChanged(EventArgs) |
Aciona o evento LinkColorChanged. |
OnLinkHoverColorChanged(EventArgs) |
Aciona o evento |
OnMappingNameChanged(EventArgs) |
Aciona o evento MappingNameChanged. |
OnPreferredColumnWidthChanged(EventArgs) |
Aciona o evento PreferredColumnWidthChanged. |
OnPreferredRowHeightChanged(EventArgs) |
Aciona o evento PreferredRowHeightChanged. |
OnReadOnlyChanged(EventArgs) |
Aciona o evento ReadOnlyChanged. |
OnRowHeadersVisibleChanged(EventArgs) |
Aciona o evento RowHeadersVisibleChanged. |
OnRowHeaderWidthChanged(EventArgs) |
Aciona o evento RowHeaderWidthChanged. |
OnSelectionBackColorChanged(EventArgs) |
Aciona o evento SelectionBackColorChanged. |
OnSelectionForeColorChanged(EventArgs) |
Aciona o evento SelectionForeColorChanged. |
ResetAlternatingBackColor() |
Redefine a propriedade AlternatingBackColor para seu valor padrão. |
ResetBackColor() |
Redefine a propriedade BackColor para seu valor padrão. |
ResetForeColor() |
Redefine a propriedade ForeColor para seu valor padrão. |
ResetGridLineColor() |
Redefine a propriedade GridLineColor para seu valor padrão. |
ResetHeaderBackColor() |
Redefine a propriedade HeaderBackColor para seu valor padrão. |
ResetHeaderFont() |
Redefine a propriedade HeaderFont para seu valor padrão. |
ResetHeaderForeColor() |
Redefine a propriedade HeaderForeColor para seu valor padrão. |
ResetLinkColor() |
Redefine a propriedade LinkColor para seu valor padrão. |
ResetLinkHoverColor() |
Redefine a propriedade LinkHoverColor para seu valor padrão. |
ResetSelectionBackColor() |
Redefine a propriedade SelectionBackColor para seu valor padrão. |
ResetSelectionForeColor() |
Redefine a propriedade SelectionForeColor para seu valor padrão. |
ShouldSerializeAlternatingBackColor() |
Indica se a propriedade AlternatingBackColor deve ser persistente. |
ShouldSerializeBackColor() |
Indica se a propriedade BackColor deve ser persistente. |
ShouldSerializeForeColor() |
Indica se a propriedade ForeColor deve ser persistente. |
ShouldSerializeGridLineColor() |
Indica se a propriedade GridLineColor deve ser persistente. |
ShouldSerializeHeaderBackColor() |
Indica se a propriedade HeaderBackColor deve ser persistente. |
ShouldSerializeHeaderForeColor() |
Indica se a propriedade HeaderForeColor deve ser persistente. |
ShouldSerializeLinkColor() |
Indica se a propriedade LinkColor deve ser persistente. |
ShouldSerializeLinkHoverColor() |
Indica se a propriedade LinkHoverColor deve ser persistente. |
ShouldSerializePreferredRowHeight() |
Indica se a propriedade PreferredRowHeight deve ser persistente. |
ShouldSerializeSelectionBackColor() |
Indica se a propriedade SelectionBackColor deve ser persistente. |
ShouldSerializeSelectionForeColor() |
Indica se a propriedade SelectionForeColor deve ser persistente. |
ToString() |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
Eventos
AllowSortingChanged |
Ocorre quando o valor da propriedade AllowSorting muda. |
AlternatingBackColorChanged |
Ocorre quando o valor AlternatingBackColor é alterado. |
BackColorChanged |
Ocorre quando o valor BackColor é alterado. |
ColumnHeadersVisibleChanged |
Ocorre quando o valor ColumnHeadersVisible é alterado. |
Disposed |
Ocorre quando o componente é disposto por uma chamada ao método Dispose(). (Herdado de Component) |
ForeColorChanged |
Ocorre quando o valor ForeColor é alterado. |
GridLineColorChanged |
Ocorre quando o valor GridLineColor é alterado. |
GridLineStyleChanged |
Ocorre quando o valor GridLineStyle é alterado. |
HeaderBackColorChanged |
Ocorre quando o valor HeaderBackColor é alterado. |
HeaderFontChanged |
Ocorre quando o valor HeaderFont é alterado. |
HeaderForeColorChanged |
Ocorre quando o valor HeaderForeColor é alterado. |
LinkColorChanged |
Ocorre quando o valor LinkColor é alterado. |
LinkHoverColorChanged |
Ocorre quando o valor LinkHoverColor é alterado. |
MappingNameChanged |
Ocorre quando o valor MappingName é alterado. |
PreferredColumnWidthChanged |
Ocorre quando o valor da propriedade PreferredColumnWidth muda. |
PreferredRowHeightChanged |
Ocorre quando o valor PreferredRowHeight é alterado. |
ReadOnlyChanged |
Ocorre quando o valor ReadOnly é alterado. |
RowHeadersVisibleChanged |
Ocorre quando o valor RowHeadersVisible é alterado. |
RowHeaderWidthChanged |
Ocorre quando o valor RowHeaderWidth é alterado. |
SelectionBackColorChanged |
Ocorre quando o valor SelectionBackColor é alterado. |
SelectionForeColorChanged |
Ocorre quando o valor SelectionForeColor é alterado. |