GridTableStylesCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 DataGridTableStyle 控件中 DataGrid 对象的集合。
public ref class GridTableStylesCollection : System::Windows::Forms::BaseCollection, System::Collections::IList
[System.ComponentModel.ListBindable(false)]
public class GridTableStylesCollection : System.Windows.Forms.BaseCollection, System.Collections.IList
[<System.ComponentModel.ListBindable(false)>]
type GridTableStylesCollection = class
inherit BaseCollection
interface IList
interface ICollection
interface IEnumerable
Public Class GridTableStylesCollection
Inherits BaseCollection
Implements IList
- 继承
- 属性
- 实现
示例
下面的代码示例创建两DataGridTableStyle个 DataGrid 对象,并将每个对象添加到GridTableStylesCollection由 TableStyles 控件的 属性返回的 中。
void AddCustomDataTableStyle()
{
DataGridTableStyle^ ts1 = gcnew DataGridTableStyle;
ts1->MappingName = "Customers";
// Set other properties.
ts1->AlternatingBackColor = Color::LightGray;
/* 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";
// Set other properties.
ts2->AlternatingBackColor = Color::LightBlue;
// Create new ColumnStyle objects.
DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn;
cOrderDate->MappingName = "OrderDate";
cOrderDate->HeaderText = "Order Date";
cOrderDate->Width = 100;
ts2->GridColumnStyles->Add( cOrderDate );
/*Use a PropertyDescriptor to create a formatted
column. First get the PropertyDescriptorCollection
for the data source and data member. */
System::ComponentModel::PropertyDescriptorCollection^ pcol = this->
BindingContext[myDataSet, "Customers::custToOrders"]->
GetItemProperties();
/* Create a formatted column using a PropertyDescriptor.
The formatting character S"c" specifies a currency format. */
DataGridColumnStyle^ csOrderAmount =
gcnew DataGridTextBoxColumn( pcol[ "OrderAmount" ],"c",true );
csOrderAmount->MappingName = "OrderAmount";
csOrderAmount->HeaderText = "Total";
csOrderAmount->Width = 100;
ts2->GridColumnStyles->Add( csOrderAmount );
/* Add the DataGridTableStyle instances to
the GridTableStylesCollection. */
myDataGrid->TableStyles->Add( ts1 );
myDataGrid->TableStyles->Add( ts2 );
}
private void AddCustomDataTableStyle(){
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1.MappingName = "Customers";
// Set other properties.
ts1.AlternatingBackColor = Color.LightGray;
/* 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";
// Set other properties.
ts2.AlternatingBackColor = Color.LightBlue;
// Create new ColumnStyle objects.
DataGridColumnStyle cOrderDate =
new DataGridTextBoxColumn();
cOrderDate.MappingName = "OrderDate";
cOrderDate.HeaderText = "Order Date";
cOrderDate.Width = 100;
ts2.GridColumnStyles.Add(cOrderDate);
/*Use a PropertyDescriptor to create a formatted
column. First get the PropertyDescriptorCollection
for the data source and data member. */
System.ComponentModel.PropertyDescriptorCollection pcol =
this.BindingContext[myDataSet, "Customers.custToOrders"]
.GetItemProperties();
/* Create a formatted column using a PropertyDescriptor.
The formatting character "c" specifies a currency format. */
DataGridColumnStyle csOrderAmount =
new DataGridTextBoxColumn(pcol["OrderAmount"], "c", true);
csOrderAmount.MappingName = "OrderAmount";
csOrderAmount.HeaderText = "Total";
csOrderAmount.Width = 100;
ts2.GridColumnStyles.Add(csOrderAmount);
/* Add the DataGridTableStyle instances to
the GridTableStylesCollection. */
myDataGrid.TableStyles.Add(ts1);
myDataGrid.TableStyles.Add(ts2);
}
Private Sub AddCustomDataTableStyle()
Dim ts1 As New DataGridTableStyle()
ts1.MappingName = "Customers"
' Set other properties.
ts1.AlternatingBackColor = Color.LightGray
' 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"
' Set other properties.
ts2.AlternatingBackColor = Color.LightBlue
' Create new ColumnStyle objects.
Dim cOrderDate As New DataGridTextBoxColumn()
cOrderDate.MappingName = "OrderDate"
cOrderDate.HeaderText = "Order Date"
cOrderDate.Width = 100
ts2.GridColumnStyles.Add(cOrderDate)
' Use a PropertyDescriptor to create a formatted
' column. First get the PropertyDescriptorCollection
' for the data source and data member.
Dim pcol As System.ComponentModel.PropertyDescriptorCollection = _
Me.BindingContext(myDataSet, "Customers.custToOrders"). _
GetItemProperties()
' Create a formatted column using a PropertyDescriptor.
' The formatting character "c" specifies a currency format. */
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 instances to
' the GridTableStylesCollection.
myDataGrid.TableStyles.Add(ts1)
myDataGrid.TableStyles.Add(ts2)
End Sub
注解
GridTableStylesCollection包含DataGridTableStyle对象,这些对象允许DataGrid控件显示 中每个 DataTable 的DataSet自定义网格样式。
在 控件上DataGridTableStyles, 属性返回 GridTableStylesCollection。
默认情况下, GridTableStylesCollection 不包含任何 DataGridTableStyle 对象。 DataGrid而是使用颜色、宽度和格式设置的默认设置显示每个表。 将显示每个表的所有列。 DataGridTableStyle将 添加到集合时, DataGrid 使用 MappingName 来确定哪个对象为网格提供数据。 例如,如果数据源是包含三个 DataSet 对象的 ,则必须MappingName与其中一个 对象的 匹配TableName。DataTable MappingName如果 与任何TableName值都不匹配,则默认设置将用于显示每个表的数据,并且DataGridTableStyle将忽略这些设置。
注意
在将 对象添加到 之前,始终创建 DataGridColumnStyle 对象并将其添加到 DataGridTableStyle 。GridTableStylesCollectionGridColumnStylesCollection 将具有有效MappingName值的空DataGridTableStyle添加到集合时,DataGridColumnStyle将自动生成对象。 因此,如果尝试将具有重复MappingName值的新DataGridColumnStyle对象添加到 ,GridColumnStylesCollection将引发异常。 或者,使用 Clear 方法清除 GridColumnStylesCollection 。
属性
Count |
获取集合中的总元素数。 (继承自 BaseCollection) |
IsReadOnly |
获取一个值,该值指示集合是否为只读。 (继承自 BaseCollection) |
IsSynchronized |
获取一个值,该值指示对 ICollection 的访问是否同步。 (继承自 BaseCollection) |
Item[Int32] |
获取索引指定的 DataGridTableStyle。 |
Item[String] |
获取具有指定名称的 DataGridTableStyle。 |
List |
获取基础列表。 |
SyncRoot |
获取可用于同步对 BaseCollection 的访问的对象。 (继承自 BaseCollection) |
方法
事件
CollectionChanged |
在集合更改后发生。 |
显式接口实现
ICollection.CopyTo(Array, Int32) |
从目标数组的指定索引处开始,将集合复制到兼容的一维 Array。 |
ICollection.Count |
获取集合中的项数。 |
ICollection.IsSynchronized |
获取一个值,该值指示是否同步对 GridTableStylesCollection 的访问(线程安全)。 |
ICollection.SyncRoot |
获取可用于同步对集合的访问的对象。 |
IEnumerable.GetEnumerator() |
返回集合的枚举数。 |
IList.Add(Object) |
向此集合添加一个 DataGridTableStyle。 |
IList.Clear() |
清除集合。 |
IList.Contains(Object) |
确定某元素是否在集合中。 |
IList.IndexOf(Object) |
返回指定对象在集合中的第一个匹配项的从零开始的索引。 |
IList.Insert(Int32, Object) |
实现 Insert(Int32, Object) 方法。 总是引发 NotSupportedException。 |
IList.IsFixedSize |
获取一个值,该值指示集合是否具有固定大小。 |
IList.IsReadOnly |
获取一个值,该值指示集合是否为只读。 |
IList.Item[Int32] |
获取或设置指定索引处的元素。 |
IList.Remove(Object) |
删除指定的 DataGridTableStyle。 |
IList.RemoveAt(Int32) |
从集合中移除具有指定索引的 DataGridColumnStyle。 |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |