MetaTable.Columns Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de kolomverzameling voor de tabel op.
public:
property System::Collections::ObjectModel::ReadOnlyCollection<System::Web::DynamicData::MetaColumn ^> ^ Columns { System::Collections::ObjectModel::ReadOnlyCollection<System::Web::DynamicData::MetaColumn ^> ^ get(); };
public System.Collections.ObjectModel.ReadOnlyCollection<System.Web.DynamicData.MetaColumn> Columns { get; }
member this.Columns : System.Collections.ObjectModel.ReadOnlyCollection<System.Web.DynamicData.MetaColumn>
Public ReadOnly Property Columns As ReadOnlyCollection(Of MetaColumn)
Waarde van eigenschap
Een verzameling die de kolommen voor de tabel bevat.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de Columns eigenschap gebruikt. In het voorbeeld zijn de paginasjablonen voor dynamische gegevens gekopieerd naar de map \DynamicData\CustomPages\ProductDescriptions om een aangepaste weergave te bieden voor de tabel ProductDescription van de AdventureWorksLT-database. De markering van het Insert.aspx-bestand wordt gewijzigd om een OnDataBound gebeurtenis-handler met de naam DetailsView1_DataBoundtoe te voegen. In de gebeurtenis-handler wordt de FindMetaTable methode gebruikt om de metatabel te vinden. De Columns eigenschap wordt gebruikt om het aantal kolommen in de tabel weer te geven.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;
public partial class Insert : System.Web.UI.Page {
protected MetaTable table;
protected void Page_Init(object sender, EventArgs e) {
DynamicDataManager1.RegisterControl(DetailsView1);
}
protected void Page_Load(object sender, EventArgs e) {
table = DetailsDataSource.GetTable();
Title = table.DisplayName;
}
protected void DetailsView1_DataBound(object sender, EventArgs e) {
var dsc = DetailsView1.FindDataSourceControl() as LinqDataSource;
if (dsc == null || !dsc.EnableInsert)
return;
var mTbl = DetailsView1.FindMetaTable() as MetaTable;
if (mTbl != null)
LblMetaTbl.Text = "Column count = " + mTbl.Columns.Count.ToString();
var fldTmpUsrCtl = DetailsView1.FindFieldTemplate("Description") as FieldTemplateUserControl;
if (fldTmpUsrCtl != null) {
var entryFldDescript = fldTmpUsrCtl.DataControl as TextBox;
entryFldDescript.Text = "(Enter short Description here.)";
}
var fldTmpUsrCtl2 = DetailsView1.FindFieldTemplate("ModifiedDate") as FieldTemplateUserControl;
if (fldTmpUsrCtl2 != null) {
var entryFldModDate = fldTmpUsrCtl2.DataControl as TextBox;
entryFldModDate.Text = System.DateTime.Now.Date.ToShortDateString();
}
}
protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e) {
if (e.CommandName == DataControlCommands.CancelCommandName) {
Response.Redirect(table.ListActionPath);
}
}
protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e) {
if (e.Exception == null) {
Response.Redirect(table.ListActionPath);
}
}
}
<%@ Page Language="C#" MasterPageFile="~/Site.master" CodeFile="Insert.aspx.cs" Inherits="Insert" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true" />
<h2> DynamicData\CustomPages\ProductDescriptions\Insert.aspx <%= table.DisplayName %></h2>
<p> <asp:Label ID="LblMetaTbl" runat="server" Text="Label"></asp:Label> </p>
<asp:ScriptManagerProxy runat="server" ID="ScriptManagerProxy1" />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
HeaderText="List of validation errors" />
<asp:DynamicValidator runat="server" ID="DetailsViewValidator" ControlToValidate="DetailsView1" Display="None" />
<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="DetailsDataSource" DefaultMode="Insert"
AutoGenerateInsertButton="True" OnItemCommand="DetailsView1_ItemCommand" OnItemInserted="DetailsView1_ItemInserted"
CssClass="detailstable" FieldHeaderStyle-CssClass="bold"
OnDataBound="DetailsView1_DataBound">
</asp:DetailsView>
<asp:LinqDataSource ID="DetailsDataSource" runat="server" EnableInsert="true">
</asp:LinqDataSource>
</asp:Content>