DataGridItem.DataSetIndex Eigenschaft

Definition

Ruft den Index des DataGridItem-Objekts aus der gebundenen Datenquelle ab.

public:
 virtual property int DataSetIndex { int get(); };
public virtual int DataSetIndex { get; }
member this.DataSetIndex : int
Public Overridable ReadOnly Property DataSetIndex As Integer

Eigenschaftswert

Int32

Der Index des DataGridItem in der gebundenen Datenquelle.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die DataSetIndex Eigenschaft verwendet wird, um den Index des DataGridItem Objekts aus der gebundenen Datenquelle anzuzeigen.

Hinweis

Im folgenden Codebeispiel wird das Einzeldateicodemodell verwendet und funktioniert möglicherweise nicht ordnungsgemäß, wenn sie direkt in eine CodeBehind-Datei kopiert werden. Dieses Codebeispiel muss in eine leere Textdatei kopiert werden, die über eine ASPX-Erweiterung verfügt.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="C#" runat="server">
 
   DataTable Cart;
   DataView CartView;
 
   ICollection CreateDataSource() 
   {
      DataTable dt = new DataTable();
      DataRow dr;
 
      dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
      dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
      dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
      for (int i = 0; i < 10; i++) 
      {
         dr = dt.NewRow();
 
         dr[0] = i;
         dr[1] = "Item " + i.ToString();
         dr[2] = 1.23 * (i+1);
 
         dt.Rows.Add(dr);
      }
 
      DataView dv = new DataView(dt);
      return dv;
   }
 
   void Page_Load(Object sender, EventArgs e) 
   {
 
      if (!IsPostBack) 
      {
         // Need to load this data only once.
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();
      }
 
   }
 
   void Button_Click(Object sender, EventArgs e) 
   {

      Label1.Text = "The DataSetIndex of each item in the DataGrid are: <br />"; 
 
      foreach (DataGridItem item in ItemsGrid.Items)
      { 
         Label1.Text += "<br />" + item.DataSetIndex.ToString() +
                        " - " + item.Cells[1].Text;
      }
 
   }
 
</script>
 
<head runat="server">
    <title>DataGridItem DataSetIndex Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataGridItem DataSetIndex Example</h3>
 
      <asp:DataGrid id="ItemsGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="true"
           AutoGenerateColumns="true">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>
   
      </asp:DataGrid>
 
      <br />

      <asp:Button id="Button1"
           Text="Display DataSetIndex of Items in DataGrid"
           OnClick="Button_Click"
           runat="server"/>

      <br /><br />
 
      <asp:Label id="Label1" 
           runat="server"/>
 
   </form>
 
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="VB" runat="server">
 
    Dim Cart As DataTable
    Dim CartView As DataView
 
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function 'CreateDataSource

    Sub Page_Load(sender As Object, e As EventArgs)
        
        If Not IsPostBack Then
            ' Need to load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load

    Sub Button_Click(sender As Object, e As EventArgs)
        
        Label1.Text = "The DataSetIndex of each item in the DataGrid are: <br />"
        
        Dim item As DataGridItem
        For Each item In  ItemsGrid.Items
            Label1.Text &= "<br />" & item.DataSetIndex.ToString() & " - " & item.Cells(1).Text
        Next item
    End Sub 'Button_Click
 
</script>
 
<head runat="server">
    <title>DataGridItem DataSetIndex Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataGridItem DataSetIndex Example</h3>
 
      <asp:DataGrid id="ItemsGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="true"
           AutoGenerateColumns="true">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>
   
      </asp:DataGrid>
 
      <br />

      <asp:Button id="Button1"
           Text="Display DataSetIndex of Items in DataGrid"
           OnClick="Button_Click"
           runat="server"/>

      <br /><br />
 
      <asp:Label id="Label1" 
           runat="server"/>
 
   </form>
 
</body>
</html>

Hinweise

Verwenden Sie die DataSetIndex Eigenschaft, um den Index des DataGridItem Objekts aus der gebundenen Datenquelle abzurufen.

Hinweis

Diese Eigenschaft gilt nur für Datenelemente im DataGrid Steuerelement. Die ItemType Eigenschaft des DataGridItem Objekts muss auf ListItemType.Item, ListItemType.AlternatingItem, ListItemType.SelectedItemoder ListItemType.EditItem.

Gilt für

Siehe auch