DataGridItemCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une collection d’objets DataGridItem d’un contrôle DataGrid.
public ref class DataGridItemCollection : System::Collections::ICollection
public class DataGridItemCollection : System.Collections.ICollection
type DataGridItemCollection = class
interface ICollection
interface IEnumerable
Public Class DataGridItemCollection
Implements ICollection
- Héritage
-
DataGridItemCollection
- Implémente
Exemples
L’exemple de code suivant montre comment itérer à travers DataGridItem les objets d’une DataGridItemCollection collection.
<%@ 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 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)));
// Populate the table with sample values.
for (int i = 0; i < 5; 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)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
// Count the number of selected items in the DataGrid control.
int count = 0;
// Display the selected times.
Message.Text = "You Selected: <br />";
// Iterate through each item (row) in the DataGrid control and
// determine whether it is selected.
foreach (DataGridItem item in ItemsGrid.Items)
{
DetermineSelection(item, ref count);
}
// If no items are selected, display the appropriate message.
if (count == 0)
{
Message.Text = "No items selected";
}
}
void DetermineSelection(DataGridItem item, ref int count)
{
// Retrieve the SelectCheckBox CheckBox control from the
// specified item (row) in the DataGrid control.
CheckBox selection = (CheckBox)item.FindControl("SelectCheckBox");
// If the item is selected, display the appropriate message and
// increment the count of selected items.
if (selection != null)
{
if (selection.Checked)
{
Message.Text += "- " + item.Cells[1].Text + "<br />";
count++;
}
}
}
void Check_Change(Object sender, EventArgs e)
{
// Show or hide the first column depending on the value of
// the check box.
if (ShowCheckBox.Checked)
{
ItemsGrid.Columns[0].Visible = true;
}
else
{
ItemsGrid.Columns[0].Visible = false;
}
}
</script>
<head runat="server">
<title>DataGridColumn Visible Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGridColumn Visible Example</h3>
Select whether to show or hide the first column.
<br /><br />
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="True"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
Visible="True"
HeaderText="Item"/>
<asp:BoundColumn DataField="StringValue"
Visible="True"
HeaderText="Description"/>
<asp:BoundColumn DataField="CurrencyValue"
Visible="True"
HeaderText="Price"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Select Item"
Visible="True" >
<ItemTemplate>
<asp:CheckBox id="SelectCheckBox"
Text="Add to Cart"
Checked="False"
runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br /><br />
<asp:Button id="SubmitButton"
Text="Submit"
OnClick = "Button_Click"
runat="server"/>
<br /><br />
<asp:Label id="Message"
runat="server"/>
<hr />
<asp:CheckBox id="ShowCheckBox"
Text="Show first column"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
Checked="True"
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 runat="server">
Function CreateDataSource() As ICollection
' Create sample data for the DataGrid control.
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(string)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(double)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 to 4
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 DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' Load sample data only once, when the page is first loaded.
If Not IsPostBack Then
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
' Count the number of selected items in the DataGrid control.
Dim count As Integer = 0
' Display the selected times.
Message.Text = "You Selected: <br />"
' Iterate through each item (row) in the DataGrid control and
' determine whether it is selected.
Dim item As DataGridItem
For Each item In ItemsGrid.Items
DetermineSelection(item, count)
Next
' If no items are selected, display the appropriate message.
If count = 0 Then
Message.Text = "No items selected"
End If
End Sub
Sub DetermineSelection(item As DataGridItem, ByRef count As Integer)
' Retrieve the SelectCheckBox CheckBox control from the
' specified item (row) in the DataGrid control.
Dim selection As CheckBox = _
CType(item.FindControl("SelectCheckBox"), CheckBox)
' If the item is selected, display the appropriate message and
' increment the count of selected items.
If Not selection Is Nothing Then
If selection.Checked Then
Message.Text &= "- " & item.Cells(1).Text & "<br />"
count = count + 1
End If
End If
End Sub
Sub Check_Change(sender As Object, e As EventArgs)
' Show or hide the first column depending on the value of
' the check box.
If ShowCheckBox.Checked Then
ItemsGrid.Columns(0).Visible = True
Else
ItemsGrid.Columns(0).Visible = False
End If
End Sub
</script>
<head runat="server">
<title>DataGridColumn Visible Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGridColumn Visible Example</h3>
Select whether to show or hide the first column.
<br /><br />
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="True"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
Visible="True"
HeaderText="Item"/>
<asp:BoundColumn DataField="StringValue"
Visible="True"
HeaderText="Description"/>
<asp:BoundColumn DataField="CurrencyValue"
Visible="True"
HeaderText="Price"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Select Item"
Visible="True" >
<ItemTemplate>
<asp:CheckBox id="SelectCheckBox"
Text="Add to Cart"
Checked="False"
runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br /><br />
<asp:Button id="SubmitButton"
Text="Submit"
OnClick = "Button_Click"
runat="server"/>
<br /><br />
<asp:Label id="Message"
runat="server"/>
<hr />
<asp:CheckBox id="ShowCheckBox"
Text="Show first column"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
Checked="True"
runat="server"/>
</form>
</body>
</html>
Remarques
La DataGridItemCollection classe représente une collection d’objets DataGridItem , qui à leur tour représentent les éléments de données d’un DataGrid contrôle. Pour récupérer DataGridItem des objets d’un DataGrid contrôle par programmation, utilisez l’une des méthodes suivantes :
Utilisez l’indexeur pour obtenir un seul DataGridItem objet de la collection, à l’aide de la notation de tableau.
Utilisez la CopyTo méthode pour copier le contenu de la collection dans un System.Array, qui peut ensuite être utilisé pour obtenir des éléments de la collection.
Utilisez la GetEnumerator méthode pour créer une System.Collections.IEnumerator interface, qui peut ensuite être utilisée pour obtenir des éléments de la collection.
La Count propriété spécifie le nombre total d’éléments dans la collection et est couramment utilisée pour déterminer la limite supérieure de la collection.
Constructeurs
DataGridItemCollection(ArrayList) |
Initialise une nouvelle instance de la classe DataGridItemCollection. |
Propriétés
Count |
Obtient le nombre d'objets DataGridItem dans la collection. |
IsReadOnly |
Obtient une valeur qui indique si les objets DataGridItem de la collection DataGridItemCollection peuvent être modifiés. |
IsSynchronized |
Obtient une valeur indiquant si l'accès à la collection DataGridItemCollection est synchronisé (thread-safe). |
Item[Int32] |
Obtient l'objet DataGridItem à l'index spécifié dans la collection. |
SyncRoot |
Obtient l'objet pouvant être utilisé pour synchroniser l'accès à la collection DataGridItemCollection. |
Méthodes
CopyTo(Array, Int32) |
Copie tous les éléments de cette collection DataGridItemCollection dans le Array spécifié, en commençant à l'index spécifié dans Array. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Retourne un objet implémentant IEnumerator qui contient tous les objets DataGridItem de la collection DataGridItemCollection. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |