DataGrid 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
顯示資料表之資料來源項目的資料繫結清單控制項。 DataGrid 控制項可讓您選取、排序和編輯這些項目。
public ref class DataGrid : System::Web::UI::WebControls::BaseDataList, System::Web::UI::INamingContainer
public class DataGrid : System.Web.UI.WebControls.BaseDataList, System.Web.UI.INamingContainer
type DataGrid = class
inherit BaseDataList
interface INamingContainer
Public Class DataGrid
Inherits BaseDataList
Implements INamingContainer
- 繼承
- 實作
範例
下列程式代碼範例示範如何使用 DataGrid 控件來顯示數據源中的專案。
<%@ 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">
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 < 9; 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)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</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">
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 8
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
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</form>
</body>
</html>
下列程式代碼範例示範如何使用 DataGrid 控件做為簡單的購物車。
<%@ 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 < 9; 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 (Session["DG4_ShoppingCart"] == null)
{
Cart = new DataTable();
Cart.Columns.Add(new DataColumn("Item", typeof(string)));
Cart.Columns.Add(new DataColumn("Price", typeof(string)));
Session["DG4_ShoppingCart"] = Cart;
}
else
{
Cart = (DataTable)Session["DG4_ShoppingCart"];
}
CartView = new DataView(Cart);
ShoppingCart.DataSource = CartView;
ShoppingCart.DataBind();
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
void Grid_CartCommand(Object sender, DataGridCommandEventArgs e)
{
DataRow dr = Cart.NewRow();
// e.Item is the table row where the command is raised.
// For bound columns, the value is stored in the Text property of the TableCell.
TableCell itemCell = e.Item.Cells[2];
TableCell priceCell = e.Item.Cells[3];
string item = itemCell.Text;
string price = priceCell.Text;
if (((Button)e.CommandSource).CommandName == "AddToCart")
{
dr[0] = item;
dr[1] = price;
Cart.Rows.Add(dr);
}
else
{
// Remove from Cart.
CartView.RowFilter = "Item='" + item + "'";
if (CartView.Count > 0)
{
CartView.Delete(0);
}
CartView.RowFilter = "";
}
ShoppingCart.DataBind();
}
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<table cellpadding="5">
<tr valign="top">
<td>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
OnItemCommand="Grid_CartCommand"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:ButtonColumn
HeaderText="Add to cart"
ButtonType="PushButton"
Text="Add"
CommandName="AddToCart" />
<asp:ButtonColumn
HeaderText="Remove from cart"
ButtonType="PushButton"
Text="Remove"
CommandName="RemoveFromCart" />
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
</td>
<td>
<b>Shopping Cart</b>
<asp:DataGrid id="ShoppingCart"
runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
ShowFooter="false"
CellPadding="3"
CellSpacing="0">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</td>
</tr>
</table>
</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 8
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 Session("DG4_ShoppingCart") Is Nothing Then
Cart = New DataTable()
Cart.Columns.Add(New DataColumn("Item", GetType(String)))
Cart.Columns.Add(New DataColumn("Price", GetType(String)))
Session("DG4_ShoppingCart") = Cart
Else
Cart = CType(Session("DG4_ShoppingCart"), DataTable)
End If
CartView = New DataView(Cart)
ShoppingCart.DataSource = CartView
ShoppingCart.DataBind()
If Not IsPostBack Then
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
Sub Grid_CartCommand(sender As Object, e As DataGridCommandEventArgs)
Dim dr As DataRow = Cart.NewRow()
' e.Item is the table row where the command is raised.
' For bound columns, the value is stored in the Text property of the TableCell.
Dim itemCell As TableCell = e.Item.Cells(2)
Dim priceCell As TableCell = e.Item.Cells(3)
Dim item As String = itemCell.Text
Dim price As String = priceCell.Text
If CType(e.CommandSource, Button).CommandName = "AddToCart" Then
dr(0) = item
dr(1) = price
Cart.Rows.Add(dr)
Else
'Remove from Cart.
CartView.RowFilter = "Item" + ChrW(61) + "'" + item + "'"
If CartView.Count > 0 Then
CartView.Delete(0)
End If
CartView.RowFilter = ""
End If
ShoppingCart.DataBind()
End Sub 'Grid_CartCommand
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<table cellpadding="5">
<tr valign="top">
<td>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
OnItemCommand="Grid_CartCommand"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:ButtonColumn
HeaderText="Add to cart"
ButtonType="PushButton"
Text="Add"
CommandName="AddToCart" />
<asp:ButtonColumn
HeaderText="Remove from cart"
ButtonType="PushButton"
Text="Remove"
CommandName="RemoveFromCart" />
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
</td>
<td>
<b>Shopping Cart</b>
<asp:DataGrid id="ShoppingCart"
runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
ShowFooter="false"
CellPadding="3"
CellSpacing="0">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</td>
</tr>
</table>
</form>
</body>
</html>
下列程式代碼範例示範如何將屬性動態新增至 <td>
控件所產生的 DataGrid 和 <tr>
標記。
<%@ 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()
{
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 < 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)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
}
void Item_Bound(Object sender, DataGridItemEventArgs e)
{
ListItemType itemType = (ListItemType)e.Item.ItemType;
if ((itemType != ListItemType.Header) &&
(itemType != ListItemType.Footer) &&
(itemType != ListItemType.Separator))
{
// Get the IntegerValue cell from the grid's column collection.
TableCell intCell = (TableCell)e.Item.Controls[0];
// Add attributes to the cell.
intCell.Attributes.Add("id", "intCell" + e.Item.ItemIndex.ToString());
intCell.Attributes.Add("OnClick",
"Update_intCell" +
e.Item.ItemIndex.ToString() +
"()");
// Add attributes to the row.
e.Item.Attributes.Add("id", "row" + e.Item.ItemIndex.ToString());
e.Item.Attributes.Add("OnDblClick",
"Update_row" +
e.Item.ItemIndex.ToString() +
"()");
}
}
</script>
<script type="text/vbscript">
sub Update_intCell0
Alert "You Selected Cell 0."
end sub
sub Update_intCell1
Alert "You Selected Cell 1."
end sub
sub Update_intCell2
Alert "You Selected Cell 2."
end sub
sub Update_intCell3
Alert "You Selected Cell 3."
end sub
sub Update_intCell4
Alert "You Selected Cell 4."
end sub
sub UpDate_row0
Alert "You selected the row 0."
end sub
sub UpDate_row1
Alert "You selected the row 1."
end sub
sub UpDate_row2
Alert "You selected the row 2."
end sub
sub UpDate_row3
Alert "You selected the row 3."
end sub
sub UpDate_row4
Alert "You selected the row 4."
end sub
</script>
<head runat="server">
<title>
Adding Attributes to the <td> and <tr> </title>
</head>
<body>
<form id="form1" runat="server">
<h3>
Adding Attributes to the <td> and <tr> <br />
Tags of a DataGrid Control
</h3>
<asp:DataGrid id="ItemsGrid" runat="server"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="true"
OnItemDataBound="Item_Bound"
AutoGenerateColumns="false">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn HeaderText="Number"
DataField="IntegerValue">
<ItemStyle BackColor="yellow">
</ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<br /><br />
Click on one of the cells in the <b>Number</b> column to select the cell.
<br /><br />
Double click on a row to select a row.
</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
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
Dim i As Integer
Dim dv As DataView
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
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
dv = New DataView(dt)
CreateDataSource = dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub
Sub Item_Bound(sender As Object, e As DataGridItemEventArgs)
Dim itemType As ListItemType
Dim intCell As TableCell
itemType = CType(e.Item.ItemType, ListItemType)
If (itemType <> ListItemType.Header) And _
(itemType <> ListItemType.Footer) And _
(itemType <> ListItemType.Separator) Then
' Get the IntegerValue cell from the grid's column collection.
intCell = CType(e.Item.Controls(0), TableCell)
' Add attributes to the cell.
intCell.Attributes.Add("id", "intCell" + e.Item.ItemIndex.ToString())
intCell.Attributes.Add("OnClick", _
"Update_intCell" + _
e.Item.ItemIndex.ToString() + _
"()")
' Add attributes to the row.
e.Item.Attributes.Add("id", "row" + e.Item.ItemIndex.ToString())
e.Item.Attributes.Add("OnDblClick", _
"Update_row" + _
e.Item.ItemIndex.ToString() + _
"()")
End If
End Sub
</script>
<script type="text/vbscript">
sub Update_intCell0
Alert "You Selected Cell 0."
end sub
sub Update_intCell1
Alert "You Selected Cell 1."
end sub
sub Update_intCell2
Alert "You Selected Cell 2."
end sub
sub Update_intCell3
Alert "You Selected Cell 3."
end sub
sub Update_intCell4
Alert "You Selected Cell 4."
end sub
sub UpDate_row0
Alert "You selected the row 0."
end sub
sub UpDate_row1
Alert "You selected the row 1."
end sub
sub UpDate_row2
Alert "You selected the row 2."
end sub
sub UpDate_row3
Alert "You selected the row 3."
end sub
sub UpDate_row4
Alert "You selected the row 4."
end sub
</script>
<head runat="server">
<title>
Adding Attributes to the <td> and <tr> </title>
</head>
<body>
<form id="form1" runat="server">
<h3>
Adding Attributes to the <td> and <tr> <br />
Tags of a DataGrid Control
</h3>
<asp:DataGrid id="ItemsGrid" runat="server"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="true"
OnItemDataBound="Item_Bound"
AutoGenerateColumns="false">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn HeaderText="Number"
DataField="IntegerValue">
<ItemStyle BackColor="yellow">
</ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right">
</ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<br /><br />
Click on one of the cells in the <b>Number</b> column to select the cell.
<br /><br />
Double click on a row to select a row.
</form>
</body>
</html>
<%@ 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 < 9; 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++;
}
}
}
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
HeaderText="Item"/>
<asp:BoundColumn DataField="StringValue"
HeaderText="Description"/>
<asp:BoundColumn DataField="CurrencyValue"
HeaderText="Price"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Select Item">
<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"/>
</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 8
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 items.
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
</script>
<head runat="server">
<title>DataGrid Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
HeaderText="Item"/>
<asp:BoundColumn DataField="StringValue"
HeaderText="Description"/>
<asp:BoundColumn DataField="CurrencyValue"
HeaderText="Price"
DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Select Item">
<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"/>
</form>
</body>
</html>
備註
本主題內容:
簡介
DataGrid使用控件,將數據源的欄位顯示為資料表中的資料行。 控制件中的每個 DataGrid 數據列都代表數據源中的記錄。 控制項 DataGrid 支援選取、編輯、刪除、分頁和排序。
警告
此控制項可用來顯示使用者輸入,其中可能包含惡意用戶端文本。 在應用程式中顯示可執行檔文本、SQL 語句或其他程式代碼之前,請先檢查從用戶端傳送的任何資訊。 ASP.NET 提供輸入要求驗證功能,以封鎖使用者輸入中的腳本和 HTML。 也會提供驗證伺服器控制件來評估使用者輸入。 如需詳細資訊,請參閱 驗證伺服器控件語法。
不同的數據行類型會決定 控件中數據行的行為。 下表列出可使用的不同數據行類型。
資料行類型 | 描述 |
---|---|
BoundColumn | 顯示系結至數據源中欄位的數據行。 它會將欄位中的每個項目顯示為文字。 這是控制件的預設數據行類型 DataGrid 。 |
ButtonColumn | 顯示資料列中每個專案的命令按鈕。 這可讓您建立自定義按鈕控件的數據行,例如 Add 或 Remove 按鈕。 |
EditCommandColumn | 顯示資料行,其中包含資料行中每個專案的編輯命令。 |
HyperLinkColumn | 將數據行中每個專案的內容顯示為超連結。 數據行的內容可以系結至數據源或靜態文字中的欄位。 |
TemplateColumn | 在指定的範本之後,顯示資料列中的每個專案。 這可讓您在資料行中提供自定義控制項。 |
根據預設, AutoGenerateColumns 屬性會設定為 true
,這會為數據源中的每個欄位建立 BoundColumn 物件。 然後,每個欄位會依每個字段出現在數據源的順序, DataGrid 轉譯為 控件中的數據行。
您也可以將 屬性設定AutoGenerateColumns為 false
,然後列出您要在開頭和結尾<Columns>
標記之間包含的數據行,手動控制控件中顯示的DataGrid數據行。 指定的數據行會依列出的順序新增至 Columns 集合。 這可讓您以程式設計方式控制控制控件中的數據 DataGrid 行。
注意
控件中顯示的 DataGrid 數據行順序是由數據行出現在 Columns 集合中的順序所控制。 雖然您可以透過操作集合,以程式設計 Columns 方式變更數據行的順序,但是以所需的顯示順序會比較容易。
明確宣告的數據行可以與自動產生的數據行一起顯示。 同時使用這兩個數據行時,會先轉譯明確宣告的數據行,後面接著自動產生的數據行。
注意
自動產生的數據行不會新增至 Columns 集合。
設定控件不同部分的樣式屬性,即可自定義控件的外觀 DataGrid 。 下表列出不同的樣式屬性。
Style 屬性 | 描述 |
---|---|
AlternatingItemStyle | 指定控制項中 DataGrid 替代項目的樣式。 |
EditItemStyle | 指定控制項中 DataGrid 正在編輯之項目的樣式。 |
FooterStyle | 指定控件中頁尾區段的 DataGrid 樣式。 |
HeaderStyle | 指定控件中標頭區段的 DataGrid 樣式。 |
ItemStyle | 指定控制項中 DataGrid 項目的樣式。 |
PagerStyle | 指定控件之頁面選取區段的 DataGrid 樣式。 |
SelectedItemStyle | 指定控制項中 DataGrid 所選取項目的樣式。 |
您也可以顯示或隱藏控制件的不同部分。 下表列出可控制顯示或隱藏哪些部分的屬性。
屬性 | 描述 |
---|---|
ShowFooter | 顯示或隱藏控件的 DataGrid 頁尾區段。 |
ShowHeader | 顯示或隱藏控件的 DataGrid 標頭區段。 |
您可以透過程式設計方式將屬性<td>
加入瀏覽器上控制控制控件所轉譯的和 <tr>
標記,來控制控件的外觀DataGrid。 在或 OnItemDataBound 事件的事件處理程式OnItemCreated中提供程式碼,即可以程序設計方式新增屬性。
若要將屬性新增至 <td>
標記,請先取得 TableCell 物件,該物件代表您要加入屬性的控件中的 DataGrid 儲存格。
Control.Controls傳遞至事件處理程式之 DataGridItemEventArgs 物件的 屬性集合Item可用來取得所需的TableCell物件。 然後AttributeCollection.Add,您可以使用 物件的 集合TableCell方法Attributes,將屬性新增至 <td>
標記。
若要將屬性新增至 <tr>
標記,請先取得 DataGridItem 物件,該物件代表您要加入屬性的控件中的數據 DataGrid 列。
Item傳遞至事件處理程式的物件屬性DataGridItemEventArgs可用來取得所需的DataGridItem物件。 然後AttributeCollection.Add,您可以使用 物件的 集合DataGridItem方法Attributes,將屬性新增至 <tr>
標記。
Accessibility
如需如何設定此控件以產生符合輔助功能標準的標記的相關信息,請參閱 Visual Studio 中的輔助功能,以及 ASP.NET 和 ASP.NET 控件和輔助功能。
宣告式語法
<asp:DataGrid
AccessKey="string"
AllowCustomPaging="True|False"
AllowPaging="True|False"
AllowSorting="True|False"
AutoGenerateColumns="True|False"
BackColor="color name|#dddddd"
BackImageUrl="uri"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
Caption="string"
CaptionAlign="NotSet|Top|Bottom|Left|Right"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataKeyField="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
EditItemIndex="integer"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
GridLines="None|Horizontal|Vertical|Both"
Height="size"
HorizontalAlign="NotSet|Left|Center|Right|Justify"
ID="string"
OnCancelCommand="CancelCommand event handler"
OnDataBinding="DataBinding event handler"
OnDeleteCommand="DeleteCommand event handler"
OnDisposed="Disposed event handler"
OnEditCommand="EditCommand event handler"
OnInit="Init event handler"
OnItemCommand="ItemCommand event handler"
OnItemCreated="ItemCreated event handler"
OnItemDataBound="ItemDataBound event handler"
OnLoad="Load event handler"
OnPageIndexChanged="PageIndexChanged event handler"
OnPreRender="PreRender event handler"
OnSelectedIndexChanged="SelectedIndexChanged event handler"
OnSortCommand="SortCommand event handler"
OnUnload="Unload event handler"
OnUpdateCommand="UpdateCommand event handler"
PageSize="integer"
runat="server"
SelectedIndex="integer"
ShowFooter="True|False"
ShowHeader="True|False"
SkinID="string"
Style="string"
TabIndex="integer"
ToolTip="string"
UseAccessibleHeader="True|False"
Visible="True|False"
Width="size"
>
<AlternatingItemStyle />
<Columns>
<asp:BoundColumn
DataField="string"
DataFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
ReadOnly="True|False"
SortExpression="string"
Visible="True|False"
>
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:BoundColumn>
<asp:ButtonColumn
ButtonType="LinkButton|PushButton"
CausesValidation="True|False"
CommandName="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
SortExpression="string"
Text="string"
ValidationGroup="string"
Visible="True|False"
>
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:ButtonColumn>
<asp:EditCommandColumn
ButtonType="LinkButton|PushButton"
CancelText="string"
CausesValidation="True|False"
EditText="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
SortExpression="string"
UpdateText="string"
ValidationGroup="string"
Visible="True|False"
>
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:EditCommandColumn>
<asp:HyperLinkColumn
DataNavigateUrlField="string"
DataNavigateUrlFormatString="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
NavigateUrl="uri"
SortExpression="string"
Target="string|_blank|_parent|_search|_self|_top"
Text="string"
Visible="True|False"
>
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:HyperLinkColumn>
<asp:TemplateColumn
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
SortExpression="string"
Visible="True|False"
>
<FooterStyle />
<HeaderStyle />
<ItemStyle />
<EditItemTemplate>
<!-- child controls -->
</EditItemTemplate>
<FooterTemplate>
<!-- child controls -->
</FooterTemplate>
<HeaderTemplate>
<!-- child controls -->
</HeaderTemplate>
<ItemTemplate>
<!-- child controls -->
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<EditItemStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
<PagerStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalAlign="NotSet|Left|Center|Right|Justify"
Mode="NextPrev|NumericPages"
NextPageText="string"
OnDisposed="Disposed event handler"
PageButtonCount="integer"
Position="Bottom|Top|TopAndBottom"
PrevPageText="string"
VerticalAlign="NotSet|Top|Middle|Bottom"
Visible="True|False"
Width="size"
Wrap="True|False"
/>
<SelectedItemStyle />
</asp:DataGrid>
建構函式
DataGrid() |
初始化 DataGrid 類別的新執行個體。 |
欄位
CancelCommandName |
表示 |
DeleteCommandName |
表示刪除命令名稱。 此欄位為唯讀。 |
EditCommandName |
表示編輯命令名稱。 此欄位為唯讀。 |
NextPageCommandArgument |
表示 Next 命令引數。 此欄位為唯讀。 |
PageCommandName |
表示 Page 命令名稱。 此欄位為唯讀。 |
PrevPageCommandArgument |
表示 Prev 命令引數。 此欄位為唯讀。 |
SelectCommandName |
表示 Select 命令名稱。 此欄位為唯讀。 |
SortCommandName |
表示 Sort 命令名稱。 此欄位為唯讀。 |
UpdateCommandName |
表示更新命令名稱。 此欄位為唯讀。 |
屬性
AccessKey |
取得或設定便捷鍵 (Access Key),可讓您快速巡覽至 Web 伺服器控制項。 (繼承來源 WebControl) |
Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
AllowCustomPaging |
取得或設定值,指出是否啟用自訂分頁。 |
AllowPaging |
取得或設定值,指出是否啟用分頁。 |
AllowSorting |
取得或設定值,指出是否啟用排序。 |
AlternatingItemStyle |
取得 DataGrid 控制項中替代項目的樣式屬性。 |
AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
Attributes |
取得任意屬性 (Attribute) 的集合 (只供呈現),不與控制項上的屬性 (Property) 對應。 (繼承來源 WebControl) |
AutoGenerateColumns |
取得或設定值,指出是否為資料來源中的各個欄位,自動建立 BoundColumn 物件,並將它顯示於 DataGrid 控制項中。 |
BackColor |
取得或設定 Web 伺服器控制項的背景色彩。 (繼承來源 WebControl) |
BackImageUrl |
取得或設定要顯示於 DataGrid 控制項背景的影像 URL。 |
BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
BorderColor |
取得或設定 Web 控制項的框線色彩。 (繼承來源 WebControl) |
BorderStyle |
取得或設定 Web 伺服器控制項的框線樣式。 (繼承來源 WebControl) |
BorderWidth |
取得或設定 Web 伺服器控制項的框線寬度。 (繼承來源 WebControl) |
Caption |
取得或設定要在控制項之 HTML 標題項目中呈現的文字。 這個屬性可讓協助技術裝置的使用者更容易存取控制項。 (繼承來源 BaseDataList) |
CaptionAlign |
取得或設定控制項中 HTML 標題項目的水平或垂直位置。 這個屬性可讓協助技術裝置的使用者更容易存取控制項。 (繼承來源 BaseDataList) |
CellPadding |
取得或設定儲存格內容和其框線之間的間距。 (繼承來源 BaseDataList) |
CellSpacing |
取得或設定儲存格之間的間距。 (繼承來源 BaseDataList) |
ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
Columns |
取得表示 DataGrid 控制項資料行的物件的集合。 |
Context |
取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。 (繼承來源 Control) |
Controls |
取得 ControlCollection 物件,其包含資料清單控制項內子控制項的集合。 (繼承來源 BaseDataList) |
ControlStyle |
取得 Web 伺服器控制項的樣式。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
ControlStyleCreated |
取得值,指出 Style 物件是否已經為 ControlStyle 屬性建立。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
CssClass |
取得或設定用戶端上 Web 伺服器控制項所呈現的階層式樣式表 (CSS)。 (繼承來源 WebControl) |
CurrentPageIndex |
取得或設定目前顯示頁面的索引。 |
DataItemContainer |
如果命名容器實作 IDataItemContainer,則取得命名容器的參考。 (繼承來源 Control) |
DataKeyField |
取得或設定 DataSource 屬性指定的資料來源內的索引鍵欄位。 (繼承來源 BaseDataList) |
DataKeys |
取得 DataKeyCollection 物件,其將每個資料錄的索引鍵值儲存在資料清單控制項中。 (繼承來源 BaseDataList) |
DataKeysArray |
取得 ArrayList 物件,其將每個資料錄的索引鍵值包含在資料清單控制項中。 (繼承來源 BaseDataList) |
DataKeysContainer |
如果命名容器實作 IDataKeysControl,則取得命名容器的參考。 (繼承來源 Control) |
DataMember |
取得或設定多個成員的資料來源內特定的資料成員,以繫結至資料清單控制項。 (繼承來源 BaseDataList) |
DataSource |
取得或設定來源,包含用來填入控制項內項目的值清單。 (繼承來源 BaseDataList) |
DataSourceID |
取得或設定資料來源控制項的 ID 屬性,資料清單控制項應該用這個控制項來擷取其資料來源。 (繼承來源 BaseDataList) |
DesignMode |
取得值,指出控制項是否正用於設計介面上。 (繼承來源 Control) |
EditItemIndex |
取得或設定 DataGrid 控制項中要編輯的項目索引。 |
EditItemStyle |
取得在 DataGrid 控制項中選取以編輯的項目的樣式屬性。 |
Enabled |
取得或設定值,指出 Web 伺服器控制項是否啟用。 (繼承來源 WebControl) |
EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 (繼承來源 WebControl) |
EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 (繼承來源 Control) |
Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 Control) |
Font |
取得與 Web 伺服器控制項關聯的字型屬性。 (繼承來源 WebControl) |
FooterStyle |
取得 DataGrid 控制項中頁尾區段的樣式屬性。 |
ForeColor |
取得或設定 Web 伺服器控制項的前景色彩 (通常是文字的色彩)。 (繼承來源 WebControl) |
GridLines |
取得或設定值,指定是否要顯示資料清單控制項的儲存格之間的框線。 (繼承來源 BaseDataList) |
HasAttributes |
取得值,指出控制項是否已經設定屬性。 (繼承來源 WebControl) |
HasChildViewState |
取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。 (繼承來源 Control) |
HeaderStyle |
取得 DataGrid 控制項中標題區段的樣式屬性。 |
Height |
取得或設定 Web 伺服器控制項的高度。 (繼承來源 WebControl) |
HorizontalAlign |
取得或設定資料清單控制項在它的容器內的水平對齊。 (繼承來源 BaseDataList) |
ID |
取得或設定指派給伺服器控制項的程式設計識別項。 (繼承來源 Control) |
IdSeparator |
取得用來分隔控制項識別項的字元。 (繼承來源 Control) |
Initialized |
取得值,指出是否已經初始化控制項。 (繼承來源 BaseDataList) |
IsBoundUsingDataSourceID |
取得值,指出是否已設定 DataSourceID 屬性。 (繼承來源 BaseDataList) |
IsChildControlStateCleared |
取得值,指出這個控制項中所包含的控制項是否有控制項狀態。 (繼承來源 Control) |
IsEnabled |
取得值,指出是否啟用控制項。 (繼承來源 WebControl) |
IsTrackingViewState |
取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。 (繼承來源 Control) |
IsViewStateEnabled |
取得值,指出這個控制項是否已啟用檢視狀態。 (繼承來源 Control) |
Items |
取得表示 DataGridItem 控制項中個別項目的 DataGrid 物件的集合。 |
ItemStyle |
取得 DataGrid 控制項中項目的樣式屬性。 |
LoadViewStateByID |
取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。 (繼承來源 Control) |
NamingContainer |
取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。 (繼承來源 Control) |
Page |
取得含有伺服器控制項的 Page 執行個體的參考。 (繼承來源 Control) |
PageCount |
取得顯示 DataGrid 控制項中項目所需的頁面總數。 |
PagerStyle |
取得 DataGrid 控制項中分頁區段的樣式屬性。 |
PageSize |
取得或設定顯示於 DataGrid 控制項單一頁面的項目數目。 |
Parent |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 (繼承來源 Control) |
RenderingCompatibility |
取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。 (繼承來源 Control) |
RequiresDataBinding |
取得或設定值,指出資料清單控制項是否需要繫結至其指定的資料來源。 (繼承來源 BaseDataList) |
SelectArguments |
取得 DataSourceSelectArguments 物件,當從資料來源控制項擷取資料時資料繫結控制項會使用它。 (繼承來源 BaseDataList) |
SelectedIndex |
取得或設定 DataGrid 控制項中選取之項目的索引。 |
SelectedItem |
取得 DataGridItem 物件,表示 DataGrid 控制項中選取的項目。 |
SelectedItemStyle |
取得目前在 DataGrid 控制項中所選取項目的樣式屬性。 |
ShowFooter |
取得或設定值,指出是否在 DataGrid 控制項中顯示頁尾。 |
ShowHeader |
取得或設定值,指出是否在 DataGrid 控制項中顯示頁首。 |
Site |
當呈現在設計介面上時,取得裝載目前控制項之容器的資訊。 (繼承來源 Control) |
SkinID |
取得或設定要套用至控制項的面板。 (繼承來源 WebControl) |
Style |
取得文字屬性的集合,將呈現為 Web 伺服器控制項的外部標記上的樣式屬性。 (繼承來源 WebControl) |
SupportsDisabledAttribute |
取得值,這個值表示當控制項的 |
TabIndex |
取得或設定 Web 伺服器控制項的定位索引。 (繼承來源 WebControl) |
TagKey |
取得 DataGrid 控制項的 HtmlTextWriterTag 值。 |
TagKey |
取得對應至這個 Web 伺服器控制項的 HtmlTextWriterTag 值。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
TagName |
取得控制項標記的名稱。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
ToolTip |
取得或設定當滑鼠指標停留在 Web 伺服器控制項時顯示的文字。 (繼承來源 WebControl) |
UniqueID |
取得伺服器控制項唯一的、符合階層架構的識別項。 (繼承來源 Control) |
UseAccessibleHeader |
取得或設定值,指出資料清單控制項是否能夠以可存取格式呈現其標頭。 這個屬性可讓協助技術裝置的使用者更容易存取控制項。 (繼承來源 BaseDataList) |
ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,指出 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
VirtualItemCount |
在使用自訂分頁時,取得或設定 DataGrid 控制項中項目的虛擬數目。 |
Visible |
取得或設定值,指出伺服器控制項是否會轉譯為頁面上的 UI。 (繼承來源 Control) |
Width |
取得或設定 Web 伺服器控制項的寬度。 (繼承來源 WebControl) |
方法
事件
CancelCommand |
發生於按一下 DataGrid 控制項中項目的 |
DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
DeleteCommand |
發生在按一下 DataGrid 控制項中項目的 [刪除] 按鈕時。 |
Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
EditCommand |
發生在按一下 DataGrid 控制項中項目的 [編輯] 按鈕時。 |
Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
ItemCommand |
發生於按一下 DataGrid 控制項中的任何按鈕時。 |
ItemCreated |
當建立 DataGrid 控制項中的項目時,在伺服器上發生。 |
ItemDataBound |
發生於項目被資料繫結至 DataGrid 控制項之後。 |
Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
PageIndexChanged |
發生於按一下頁面選取元素的其中一個時。 |
PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
SelectedIndexChanged |
當資料清單控制項內的不同項目在傳送至伺服器期間被選取時發生。 (繼承來源 BaseDataList) |
SortCommand |
發生於資料行被排序時。 |
Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
UpdateCommand |
發生在按一下 DataGrid 控制項中項目的 [更新] 按鈕時。 |
明確介面實作
擴充方法
FindDataSourceControl(Control) |
傳回與指定之控制項的資料控制項相關聯的資料來源。 |
FindFieldTemplate(Control, String) |
傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。 |
FindMetaTable(Control) |
傳回包含資料控制項的中繼資料表物件。 |
GetDefaultValues(INamingContainer) |
取得所指定資料控制項的預設值集合。 |
GetMetaTable(INamingContainer) |
取得所指定資料控制項中的資料表中繼資料。 |
SetMetaTable(INamingContainer, MetaTable) |
設定所指定資料控制項中的資料表中繼資料。 |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
設定所指定資料控制項的資料表中繼資料及預設值對應。 |
SetMetaTable(INamingContainer, MetaTable, Object) |
設定所指定資料控制項的資料表中繼資料及預設值對應。 |
TryGetMetaTable(INamingContainer, MetaTable) |
判斷資料表中繼資料是否可供使用。 |
EnableDynamicData(INamingContainer, Type) |
針對指定的資料控制項啟用動態資料行為。 |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
針對指定的資料控制項啟用動態資料行為。 |
EnableDynamicData(INamingContainer, Type, Object) |
針對指定的資料控制項啟用動態資料行為。 |