DataGridItem.DataItem Property
Gets or sets the data item represented by the DataGridItem object in the DataGrid control.
[Visual Basic] Public Overridable Property DataItem As Object [C#] public virtual object DataItem {get; set;} [C++] public: __property virtual Object* get_DataItem(); public: __property virtual void set_DataItem(Object*); [JScript] public function get DataItem() : Object; public function set DataItem(Object);
Property Value
A System.Object that represents a data item in the DataGrid control.
Remarks
Use the DataItem property to specify or determine the properties of a data item represented by the DataGridItem object in the DataGrid control.
Note This property only applies to data items in the DataGrid control. The ItemType property must be set to ListItemType.Item, ListItemType.AlternatingItem, ListItemType.SelectedItem, or ListItemType.EditItem.
Example
[Visual Basic, C#] The following example demonstrates how to use the DataItem property to display the contents of the data items in the DataGrid control.
[Visual Basic, C#] Note The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see Web Forms Code Model.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <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 Item_Created(sender As Object, e As DataGridItemEventArgs) If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.SelectedItem Or e.Item.ItemType = ListItemType.EditItem Then Label1.Text &= "<br>" & e.Item.ItemType.ToString() & " - " & CType(e.Item.DataItem, DataRowView).Row.ItemArray(1).ToString() Else Label1.Text &= "<br>" & e.Item.ItemType.ToString() End If End Sub 'Item_Created </script> <body> <form runat=server> <h3>DataGridItem DataItem Example</h3> <asp:DataGrid id="ItemsGrid" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" ShowFooter="true" OnItemCreated="Item_Created" AutoGenerateColumns="true"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <FooterStyle BackColor="#00aaaa"> </FooterStyle> </asp:DataGrid> <br> <asp:Label id="Label1" Text="Items in the DataGrid Control: <br>" runat="server"/> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <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 Item_Created(Object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.SelectedItem || e.Item.ItemType == ListItemType.EditItem) { Label1.Text += "<br>" + e.Item.ItemType.ToString() + " - " + ((DataRowView)e.Item.DataItem).Row.ItemArray[1].ToString(); } else { Label1.Text += "<br>" + e.Item.ItemType.ToString(); } } </script> <body> <form runat=server> <h3>DataGridItem DataItem Example</h3> <asp:DataGrid id="ItemsGrid" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" ShowFooter="true" OnItemCreated="Item_Created" AutoGenerateColumns="true"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <FooterStyle BackColor="#00aaaa"> </FooterStyle> </asp:DataGrid> <br> <asp:Label id="Label1" Text="Items in the DataGrid Control: <br>" runat="server"/> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataGridItem Class | DataGridItem Members | System.Web.UI.WebControls Namespace | DataGrid | System.Object