DataKeyArray Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Auflistung von DataKey-Objekten dar. Diese Klasse kann nicht vererbt werden.
public ref class DataKeyArray sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class DataKeyArray : System.Collections.ICollection, System.Web.UI.IStateManager
type DataKeyArray = class
interface ICollection
interface IEnumerable
interface IStateManager
Public NotInheritable Class DataKeyArray
Implements ICollection, IStateManager
- Vererbung
-
DataKeyArray
- Implementiert
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie den Indexer verwenden, um ein DataKey Objekt aus einer DataKeyArray Auflistung abzurufen.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomerGridView_DataBound(Object sender, EventArgs e)
{
// Use the indexer to retrieve the DataKey object for the
// first record.
DataKey key = CustomerGridView.DataKeys[0];
// Display the value of the primary key for the first
// record displayed in the GridView control.
MessageLabel.Text = "The primary key of the first record displayed is " +
key.Value.ToString() + ".";
}
void CopyArray_Click(Object sender, EventArgs e)
{
DataKeyArray theKeys = CustomerGridView.DataKeys;
DataKey[] myNewArray = new DataKey[theKeys.Count];
theKeys.CopyTo(myNewArray, 0);
Label2.Visible = true;
// Display first page key values from the new array.
for (int i = 0; i < myNewArray.Length; i++)
{
Label2.Text += "<br />" + myNewArray[i].Value;
}
}
</script>
<html >
<head id="Head1" runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
ondatabound="CustomerGridView_DataBound"
runat="server">
</asp:gridview>
<br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomerDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthwindConnectionString %>"
runat="server"/>
<asp:Button ID="CopyArray"
runat="server"
Text="Copy DataKeyArray to Array"
OnClick="CopyArray_Click" />
<br />
<asp:label id="Label2"
runat="server"
Visible="false"
Text="First page of Copied Array Key Values" />
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomerGridView_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles CustomerGridView.DataBound
' Use the indexer to retrieve the DataKey object for the
' first record.
Dim key As DataKey = CustomerGridView.DataKeys(0)
' Display the value of the primary key for the first
' record displayed in the GridView control.
MessageLabel.Text = "The primary key of the first record displayed is " & _
key.Value.ToString() & "."
End Sub
Sub CopyArray_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim theKeys As DataKeyArray = CustomerGridView.DataKeys
Dim myNewArray(theKeys.Count - 1) As DataKey
theKeys.CopyTo(myNewArray, 0)
Label2.Visible = True
' Display first page key values from the new array.
For i As Integer = 0 To myNewArray.Length - 1
Label2.Text &= "<br />" & myNewArray(i).Value
Next i
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
runat="server">
</asp:gridview>
<br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomerDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
<asp:Button ID="CopyArray"
runat="server"
Text="Copy DataKeyArray to Array"
OnClick="CopyArray_Click" />
<br />
<asp:label id="Label2"
runat="server"
Visible="false"
Text="First page of Copied Array Key Values" />
</form>
</body>
</html>
Im folgenden Codebeispiel wird das Durchlaufen einer DataKeyArray Auflistung veranschaulicht.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomerGridView_DataBound(Object sender, EventArgs e)
{
// Display the value of the primary key for each
// record in the GridView control.
MessageLabel.Text = "The primary key of each record displayed are: <br/><br/>";
foreach (DataKey key in CustomerGridView.DataKeys)
{
MessageLabel.Text += key.Value.ToString() + "<br/>";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
ondatabound="CustomerGridView_DataBound"
runat="server">
</asp:gridview>
<br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomerDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomerGridView_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles CustomerGridView.DataBound
' Display the value of the primary key for each
' record in the GridView control.
MessageLabel.Text = "The primary key of each record displayed are: <br/><br/>"
Dim key As DataKey
For Each key In CustomerGridView.DataKeys
MessageLabel.Text += key.Value.ToString() + "<br/>"
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
runat="server">
</asp:gridview>
<br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomerDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
Hinweise
Die DataKeyArray -Klasse wird verwendet, um eine Auflistung von DataKey -Objekten zu speichern und zu verwalten. Ein DataKey -Objekt stellt den Primärschlüssel eines Datensatzes in einem datengebundenen Steuerelement dar. Im Allgemeinen verwenden datengebundene Steuerelemente, die mehrere Datensätze anzeigen (z. B. das GridView -Steuerelement), ein DataKeyArray -Objekt, um die Objekte für die DataKey im Steuerelement angezeigten Datensätze zu speichern.
Die DataKeyArray -Klasse unterstützt mehrere Möglichkeiten für den Zugriff auf die Elemente in der Auflistung:
Verwenden Sie den Item[] Indexer, um ein DataKey Objekt direkt aus der Auflistung an einem bestimmten nullbasierten Index abzurufen.
Verwenden Sie die GetEnumerator -Methode, um einen Enumerator abzurufen, der zum Durchlaufen der Auflistung verwendet werden kann.
Verwenden Sie die CopyTo -Methode, um die Elemente in der Auflistung in ein Array zu kopieren, das dann für den Zugriff auf die Elemente in der Auflistung verwendet werden kann.
Verwenden Sie die -Eigenschaft, um die Count Gesamtanzahl der Elemente in der Auflistung zu bestimmen.
Konstruktoren
DataKeyArray(ArrayList) |
Initialisiert eine neue Instanz der DataKeyArray-Klasse. |
Eigenschaften
Count |
Ruft die Anzahl der Elemente in der Auflistung ab. |
IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Elemente in der Auflistung geändert werden können. |
IsSynchronized |
Ruft einen Wert ab, der angibt, ob die DataKeyArray-Auflistung synchronisiert (threadsicher) ist. |
Item[Int32] |
Ruft das DataKey-Objekt am angegebenen Index aus der Auflistung ab. |
SyncRoot |
Ruft das Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert wird. |
Methoden
CopyTo(DataKey[], Int32) |
Kopiert alle Elemente aus dieser Auflistung, beginnend am angegebenen Index im Array, in das angegebene Array des DataKey-Objekts. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetEnumerator() |
Gibt einen Enumerator zurück, der alle DataKey-Objekte der Auflistung enthält. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
ICollection.CopyTo(Array, Int32) |
Kopiert alle Elemente aus dieser Auflistung in das angegebene Array, wobei am angegebenen Index im Array begonnen wird. |
IStateManager.IsTrackingViewState |
Ruft einen Wert ab, der angibt, ob das DataKeyArray-Objekt die Änderungen des Ansichtszustands nachverfolgt. |
IStateManager.LoadViewState(Object) |
Lädt den zuvor gespeicherten Ansichtszustand des DataKeyArray-Objekts. |
IStateManager.SaveViewState() |
Speichert den aktuellen Ansichtszustand des DataKeyArray-Objekts. |
IStateManager.TrackViewState() |
Markiert den Ausgangspunkt, an dem die Nachverfolgung und das Speichern der Ansichtszustandsänderungen des DataKeyArray-Objekts beginnen soll. |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |