DataGridTableStyle Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa la tabla dibujada por el control DataGrid en tiempo de ejecución.
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
- Herencia
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se crean dos DataGridTableStyle instancias y se establece el MappingName de cada objeto en el TableName de en DataTable .DataSet A continuación, en el ejemplo se agregan DataGridColumnStyle objetos al GridColumnStylesCollection objeto de cada DataGridTableStyle. Para ver un ejemplo que se ejecuta, vea el System.Windows.Forms.DataGrid ejemplo.
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
Comentarios
El System.Windows.Forms.DataGrid control muestra los datos en forma de cuadrícula. DataGridTableStyle es una clase que representa solo la cuadrícula dibujada. Esta cuadrícula no debe confundirse con la DataTable clase , que es un posible origen de datos para la cuadrícula. En su lugar, representa DataGridTableStyle estrictamente la cuadrícula tal como se pinta en el control. Por lo tanto, a través DataGridTableStyle de puede controlar la apariencia de la cuadrícula para cada DataTable. Para especificar qué DataGridTableStyle se usa al mostrar datos de un determinado DataTable, establezca en MappingName de TableName .DataTable
El GridTableStylesCollection objeto recuperado a través de la TableStyles propiedad contiene todos los DataGridTableStyle objetos utilizados por un System.Windows.Forms.DataGrid control . La colección puede contener tantos DataGridTableStyle objetos como necesite, pero el MappingName de cada uno debe ser único. En tiempo de ejecución, esto le permite sustituir un diferente DataGridTableStyle por los mismos datos, dependiendo de la preferencia del usuario. Para ello, siga estos pasos:
Rellene con GridTableStylesCollectionDataGridTableStyle objetos . Si existe en DataGridTableStyle cuyo GridTableStylesCollectionMappingName valor de propiedad es igual a la DataTable propiedad del TableName objeto, DataTable se muestra con este DataGridTableStyleobjeto . Si no existe con DataGridTableStyle un elemento coincidente MappingName, DataTable se muestra con el estilo predeterminado para las tablas de cuadrícula de datos.
Cuando se necesite un estilo de cuadrícula diferente, use la
Item
propiedad para seleccionar el adecuado DataGridTableStyle (pasar el TableName objeto a la Item[] propiedad) y establecer el MappingName del objeto devuelto en un nuevo valor.Use la Item[] propiedad para seleccionar el objeto deseado DataGridTableStyley establezca su MappingName en el TableName de DataTable.
Precaución
DataGridColumnStyle Cree siempre objetos y agréguelos a GridColumnStylesCollection antes de agregar DataGridTableStyle objetos a .GridTableStylesCollection Cuando se agrega un vacío DataGridTableStyle con un valor válido MappingName a la colección, DataGridColumnStyle los objetos se generan automáticamente. Por lo tanto, se producirá una excepción si intenta agregar nuevos DataGridColumnStyle objetos con valores duplicados MappingName a GridColumnStylesCollection.
Para determinar qué DataGridTableStyle se muestra actualmente, use las DataSource propiedades y DataMember de System.Windows.Forms.DataGrid para devolver .CurrencyManager Si el origen de datos implementa la ITypedList interfaz , puede usar el GetListName método para devolver la MappingName propiedad de la tabla actual. Esto se muestra en el código de C# siguiente:
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 Si contiene DataTable objetos relacionados a través DataRelation de objetos y el objeto que se DataTable muestra actualmente es una tabla secundaria, DataMember devolverá una cadena en forma de TableName.RelationName (en el caso más sencillo). Si está DataTable más abajo en la jerarquía, la cadena constará del nombre de la tabla primaria seguido de los valores necesarios RelationName para alcanzar el nivel de la tabla. Por ejemplo, imagine tres DataTable objetos de una relación jerárquica denominada (arriba abajo), Customers
Regions
, y , y Orders
dos DataRelation objetos denominados RegionsToCustomers
y CustomersToOrders
, la DataMember propiedad devolverá "Regions.RegionsToCustomers.CustomersToOrders". Sin embargo, el MappingName será "Pedidos".
La colección de DataGridTableStyle objetos se devuelve a través de la TableStyles propiedad de System.Windows.Forms.DataGrid.
Cuando se muestra un DataGridTableStyle , la configuración de DataGridTableStyle invalidará la configuración del System.Windows.Forms.DataGrid control . Si no se establece un valor para una propiedad determinada DataGridTableStyle , se usará el System.Windows.Forms.DataGrid valor del control en su lugar. En la lista siguiente se muestran las DataGridColumnStyle propiedades que se pueden establecer para invalidar System.Windows.Forms.DataGrid las propiedades del control:
Para enlazar a DataGrid una matriz fuertemente tipada de objetos, el tipo de objeto debe contener propiedades públicas. Para crear un DataGridTableStyle objeto que muestre la matriz, establezca la DataGridTableStyle.MappingName propiedad typename
en donde typename
se reemplaza por el nombre del tipo de objeto. Tenga en cuenta también que la MappingName propiedad distingue mayúsculas de minúsculas; el nombre del tipo debe coincidir exactamente. Vea la MappingName propiedad para obtener un ejemplo.
También puede enlazar a DataGrid .ArrayList Una característica de ArrayList es que puede contener objetos de varios tipos, pero solo DataGrid se puede enlazar a dicha lista cuando todos los elementos de la lista tienen el mismo tipo que el primer elemento. Esto significa que todos los objetos deben ser del mismo tipo o deben heredar de la misma clase que el primer elemento de la lista. Por ejemplo, si el primer elemento de una lista es , Controlel segundo elemento podría ser un TextBox elemento (que hereda de Control). Si, por otro lado, el primer elemento es , TextBoxel segundo objeto no puede ser .Control Además, debe ArrayList tener elementos en él cuando está enlazado y los objetos de DataGridTableStyle deben contener propiedades públicas. Un vacío ArrayList dará como resultado una cuadrícula vacía. Cuando se enlaza a , ArrayListestablezca el MappingName de en DataGridTableStyle "ArrayList" (el nombre de tipo).
Constructores
DataGridTableStyle() |
Inicializa una nueva instancia de la clase DataGridTableStyle. |
DataGridTableStyle(Boolean) |
Inicializa una nueva instancia de la clase DataGridTableStyle usando el valor especificado para determinar si la tabla de la cuadrícula es el estilo predeterminado. |
DataGridTableStyle(CurrencyManager) |
Inicializa una nueva instancia de la clase DataGridTableStyle con el objeto CurrencyManager especificado. |
Campos
DefaultTableStyle |
Obtiene el estilo de tabla predeterminado. |
Propiedades
AllowSorting |
Indica si se permite ordenar la tabla de la cuadrícula al usar este DataGridTableStyle. |
AlternatingBackColor |
Obtiene o establece el color de fondo de las filas impares de la cuadrícula. |
BackColor |
Obtiene o establece el color de fondo de las filas pares de la cuadrícula. |
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
ColumnHeadersVisible |
Obtiene o establece un valor que indica si se ven los encabezados de columna. |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
DataGrid |
Obtiene o establece el control DataGrid de la tabla dibujada. |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
ForeColor |
Obtiene o establece el color de primer plano de la tabla de la cuadrícula. |
GridColumnStyles |
Obtiene la colección de columnas dibujadas de esta tabla. |
GridLineColor |
Obtiene o establece el color de las líneas de la cuadrícula. |
GridLineStyle |
Obtiene o establece el estilo de las líneas de la cuadrícula. |
HeaderBackColor |
Obtiene o establece el color de fondo de los encabezados. |
HeaderFont |
Obtiene o establece la fuente utilizada para los títulos de los encabezados. |
HeaderForeColor |
Obtiene o establece el color de primer plano de los encabezados. |
LinkColor |
Obtiene o establece el color del texto de los vínculos. |
LinkHoverColor |
Obtiene o establece el color mostrado al desplazarse sobre el texto del vínculo. |
MappingName |
Obtiene o establece el nombre utilizado para asignar esta tabla a un origen de datos específico. |
PreferredColumnWidth |
Obtiene o establece el ancho utilizado para crear columnas cuando se muestra una nueva cuadrícula. |
PreferredRowHeight |
Obtiene o establece el alto utilizado para crear una fila cuando se muestra una nueva cuadrícula. |
ReadOnly |
Obtiene o establece un valor que indica si se pueden editar las columnas. |
RowHeadersVisible |
Obtiene o establece un valor que indica si se ven los encabezados de fila. |
RowHeaderWidth |
Obtiene o establece el ancho de los encabezados de fila. |
SelectionBackColor |
Obtiene o establece el color de fondo de las celdas seleccionadas. |
SelectionForeColor |
Obtiene o establece el color de primer plano de las celdas seleccionadas. |
Site |
Obtiene o establece ISite de Component. (Heredado de Component) |
Métodos
BeginEdit(DataGridColumnStyle, Int32) |
Solicita una operación de edición. |
CreateGridColumn(PropertyDescriptor) |
Crea un DataGridColumnStyle usando el descriptor de propiedades especificado. |
CreateGridColumn(PropertyDescriptor, Boolean) |
Crea un DataGridColumnStyle usando el descriptor de propiedades especificado. Especifica si DataGridColumnStyle es un estilo de columna predeterminado. |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Se deshace de los recursos (distintos de la memoria) que usa DataGridTableStyle. |
EndEdit(DataGridColumnStyle, Int32, Boolean) |
Solicita que una operación de edición finalice. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
OnAllowSortingChanged(EventArgs) |
Genera el evento AllowSortingChanged. |
OnAlternatingBackColorChanged(EventArgs) |
Genera el evento AlternatingBackColorChanged. |
OnBackColorChanged(EventArgs) |
Genera el evento BackColorChanged. |
OnColumnHeadersVisibleChanged(EventArgs) |
Genera el evento ColumnHeadersVisibleChanged. |
OnForeColorChanged(EventArgs) |
Genera el evento ForeColorChanged. |
OnGridLineColorChanged(EventArgs) |
Genera el evento GridLineColorChanged. |
OnGridLineStyleChanged(EventArgs) |
Genera el evento GridLineStyleChanged. |
OnHeaderBackColorChanged(EventArgs) |
Genera el evento HeaderBackColorChanged. |
OnHeaderFontChanged(EventArgs) |
Genera el evento HeaderFontChanged. |
OnHeaderForeColorChanged(EventArgs) |
Genera el evento HeaderForeColorChanged. |
OnLinkColorChanged(EventArgs) |
Genera el evento LinkColorChanged. |
OnLinkHoverColorChanged(EventArgs) |
Genera el evento |
OnMappingNameChanged(EventArgs) |
Genera el evento MappingNameChanged. |
OnPreferredColumnWidthChanged(EventArgs) |
Genera el evento PreferredColumnWidthChanged. |
OnPreferredRowHeightChanged(EventArgs) |
Genera el evento PreferredRowHeightChanged. |
OnReadOnlyChanged(EventArgs) |
Genera el evento ReadOnlyChanged. |
OnRowHeadersVisibleChanged(EventArgs) |
Genera el evento RowHeadersVisibleChanged. |
OnRowHeaderWidthChanged(EventArgs) |
Genera el evento RowHeaderWidthChanged. |
OnSelectionBackColorChanged(EventArgs) |
Genera el evento SelectionBackColorChanged. |
OnSelectionForeColorChanged(EventArgs) |
Genera el evento SelectionForeColorChanged. |
ResetAlternatingBackColor() |
Restablece el valor predeterminado de la propiedad AlternatingBackColor. |
ResetBackColor() |
Restablece el valor predeterminado de la propiedad BackColor. |
ResetForeColor() |
Restablece el valor predeterminado de la propiedad ForeColor. |
ResetGridLineColor() |
Restablece el valor predeterminado de la propiedad GridLineColor. |
ResetHeaderBackColor() |
Restablece el valor predeterminado de la propiedad HeaderBackColor. |
ResetHeaderFont() |
Restablece el valor predeterminado de la propiedad HeaderFont. |
ResetHeaderForeColor() |
Restablece el valor predeterminado de la propiedad HeaderForeColor. |
ResetLinkColor() |
Restablece el valor predeterminado de la propiedad LinkColor. |
ResetLinkHoverColor() |
Restablece el valor predeterminado de la propiedad LinkHoverColor. |
ResetSelectionBackColor() |
Restablece el valor predeterminado de la propiedad SelectionBackColor. |
ResetSelectionForeColor() |
Restablece el valor predeterminado de la propiedad SelectionForeColor. |
ShouldSerializeAlternatingBackColor() |
Indica si la propiedad AlternatingBackColor debe persistir. |
ShouldSerializeBackColor() |
Indica si la propiedad BackColor debe persistir. |
ShouldSerializeForeColor() |
Indica si la propiedad ForeColor debe persistir. |
ShouldSerializeGridLineColor() |
Indica si la propiedad GridLineColor debe persistir. |
ShouldSerializeHeaderBackColor() |
Indica si la propiedad HeaderBackColor debe persistir. |
ShouldSerializeHeaderForeColor() |
Indica si la propiedad HeaderForeColor debe persistir. |
ShouldSerializeLinkColor() |
Indica si la propiedad LinkColor debe persistir. |
ShouldSerializeLinkHoverColor() |
Indica si la propiedad LinkHoverColor debe persistir. |
ShouldSerializePreferredRowHeight() |
Indica si la propiedad PreferredRowHeight debe persistir. |
ShouldSerializeSelectionBackColor() |
Indica si la propiedad SelectionBackColor debe persistir. |
ShouldSerializeSelectionForeColor() |
Indica si la propiedad SelectionForeColor debe persistir. |
ToString() |
Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
Eventos
AllowSortingChanged |
Se produce cuando cambia el valor de la propiedad AllowSorting. |
AlternatingBackColorChanged |
Se produce cuando cambia el valor AlternatingBackColor. |
BackColorChanged |
Se produce cuando cambia el valor BackColor. |
ColumnHeadersVisibleChanged |
Se produce cuando cambia el valor ColumnHeadersVisible. |
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |
ForeColorChanged |
Se produce cuando cambia el valor ForeColor. |
GridLineColorChanged |
Se produce cuando cambia el valor GridLineColor. |
GridLineStyleChanged |
Se produce cuando cambia el valor GridLineStyle. |
HeaderBackColorChanged |
Se produce cuando cambia el valor HeaderBackColor. |
HeaderFontChanged |
Se produce cuando cambia el valor HeaderFont. |
HeaderForeColorChanged |
Se produce cuando cambia el valor HeaderForeColor. |
LinkColorChanged |
Se produce cuando cambia el valor LinkColor. |
LinkHoverColorChanged |
Se produce cuando cambia el valor LinkHoverColor. |
MappingNameChanged |
Se produce cuando cambia el valor MappingName. |
PreferredColumnWidthChanged |
Se produce cuando cambia el valor de la propiedad PreferredColumnWidth. |
PreferredRowHeightChanged |
Se produce cuando cambia el valor PreferredRowHeight. |
ReadOnlyChanged |
Se produce cuando cambia el valor ReadOnly. |
RowHeadersVisibleChanged |
Se produce cuando cambia el valor RowHeadersVisible. |
RowHeaderWidthChanged |
Se produce cuando cambia el valor RowHeaderWidth. |
SelectionBackColorChanged |
Se produce cuando cambia el valor SelectionBackColor. |
SelectionForeColorChanged |
Se produce cuando cambia el valor SelectionForeColor. |