DataGridTableStyle Clase

Definición

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
DataGridTableStyle
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:

  1. 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.

  2. 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.

  3. 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), CustomersRegions, y , y Ordersdos 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 LinkHoverColorChanged.

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.

Se aplica a

Consulte también