Ce sujet n'a pas encore été évalué - Évaluez ce sujet

BaseDataList.DataKeyField, propriété

Obtient ou définit le champ clé de la source de données spécifiée par la propriété DataSource.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

[ThemeableAttribute(false)] 
public virtual string DataKeyField { get; set; }
/** @property */
public String get_DataKeyField ()

/** @property */
public void set_DataKeyField (String value)

public function get DataKeyField () : String

public function set DataKeyField (value : String)

Valeur de la propriété

Nom du champ clé de la source de données spécifiée par DataSource.

Utilisez la propriété DataKeyField pour spécifier le champ clé de la source de données indiquée par la propriété DataSource. Le champ clé spécifié est utilisé pour remplir la collection DataKeys. Ceci permet de stocker le champ clé avec un contrôle de liste de données sans l'afficher dans le contrôle. Le champ clé est couramment utilisé dans le gestionnaire d'un événement, tel que ItemCommand ou DeleteCommand, en tant que partie intégrante d'une chaîne de requête de mise à jour, dans le but de réviser un enregistrement spécifique dans la source de données. Le champ clé aide la chaîne de requête de mise à jour à identifier l'enregistrement à modifier.

Cette propriété ne peut pas être définie par thèmes ou thèmes de feuille de style. Pour plus d'informations, consultez ThemeableAttribute et Vue d'ensemble des thèmes et des apparences ASP.NET.

RubriqueEmplacement
Comment : ajouter des contrôles serveur Web Repeater à une page Web Forms (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter des contrôles serveur Web Repeater à une page Web FormsGénération d'applications Web ASP.NET dans Visual Studio

L'exemple de code suivant illustre comment utiliser la propriété DataKeyField pour spécifier le champ clé de la source de données.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<head>

   <script runat="server">

      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));

         // Define the primary key for the table as the IntegerValue 
         // column (column 0). To do this, first create an array of 
         // DataColumns to represent the primary key. The primary key can
         // consist of multiple columns, but in this example, only
         // one column is used.
         DataColumn[] keys = new DataColumn[1];
         keys[0] = dt.Columns[0];

         // Then assign the array to the PrimaryKey property of the DataTable. 
         dt.PrimaryKey = keys;
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }

         // To persist the data source between posts to the server, 
         // store it in session state.  
         Session["Source"] = dt;
 
         DataView dv = new DataView(dt);
         return dv;

      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         }

      }

      void Delete_Command(Object sender, DataGridCommandEventArgs e)
      {

         // Retrieve the data table from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Retrieve the data row to delete from the data table. 
         // Use the DataKeys property of the DataGrid control to get 
         // the primary key value of the selected row. 
         // Search the Rows collection of the data table for this value. 
         DataRow row;
         row = dt.Rows.Find(ItemsGrid.DataKeys[e.Item.ItemIndex]);

         // Delete the item selected in the DataGrid from the data source.
         if(row != null)
         {
            dt.Rows.Remove(row);
         }

         // Save the data source.
         Session["Source"] = dt;

         // Create a DataView and bind it to the DataGrid control.
         DataView dv = new DataView(dt);
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

   </script>

</head>

<body>

   <form runat="server">

      <h3>BaseDataList DataKeys Example</h3>

      <asp:DataGrid id="ItemsGrid" 
           BorderColor="Black"
           ShowFooter="False" 
           CellPadding=3 
           CellSpacing="0"
           HeaderStyle-BackColor="#aaaadd"
           DataKeyField="IntegerValue"
           OnDeleteCommand="Delete_Command"
           runat="server">

         <Columns>

            <asp:ButtonColumn Text="Delete"
                 CommandName="Delete"/>

         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.