<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
ICollection CreateDataSource()
{
// Create a Random object to mix up the order of items in the
// sample data.
Random Rand_Num = new Random(); // 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<=8; i++)
{ dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + Rand_Num.Next(1, 15).ToString();
dr[2] = 1.23 * Rand_Num.Next(1, 15);
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 Sort_Grid(Object sender, DataGridSortCommandEventArgs e)
{ // Retrieve the data source from session state.
DataTable dt = (DataTable)Session["Source"]; // Create a DataView from the DataTable.
DataView dv = new DataView(dt); // The DataView provides an easy way to sort. Simply set the
// Sort property with the name of the field to sort by.
dv.Sort = e.SortExpression; // Re-bind the data source and specify that it should be sorted
// by the field specified in the SortExpression property.
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind(); } </script>
<body>
<form runat=server>
<h3>DataGrid SortExpression Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
OnSortCommand="Sort_Grid"
AutoGenerateColumns="False"
AllowSorting="True"
runat="server"> <HeaderStyle BackColor="#00aaaa">
</HeaderStyle> <Columns> <asp:BoundColumn DataField="IntegerValue"
SortExpression="IntegerValue"
HeaderText="Item"/> <asp:BoundColumn DataField="StringValue"
SortExpression="StringValue"
HeaderText="Description"/> <asp:BoundColumn DataField="CurrencyValue"
HeaderText="Price"
SortExpression="CurrencyValue"
DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="Right">
</ItemStyle> </asp:BoundColumn> </Columns>
</asp:DataGrid>
</form>
</body>
</html>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
ICollection CreateDataSource()
{
// Create a Random object to mix up the order of items in the
// sample data.
Random Rand_Num = new Random(); // 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<=8; i++)
{ dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + Rand_Num.Next(1, 15).ToString();
dr[2] = 1.23 * Rand_Num.Next(1, 15);
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 Sort_Grid(Object sender, DataGridSortCommandEventArgs e)
{ // Retrieve the data source from session state.
DataTable dt = (DataTable)Session["Source"]; // Create a DataView from the DataTable.
DataView dv = new DataView(dt); // The DataView provides an easy way to sort. Simply set the
// Sort property with the name of the field to sort by.
dv.Sort = e.SortExpression; // Re-bind the data source and specify that it should be sorted
// by the field specified in the SortExpression property.
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind(); } </script>
<body>
<form runat=server>
<h3>DataGrid SortExpression Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
OnSortCommand="Sort_Grid"
AutoGenerateColumns="False"
AllowSorting="True"
runat="server"> <HeaderStyle BackColor="#00aaaa">
</HeaderStyle> <Columns> <asp:BoundColumn DataField="IntegerValue"
SortExpression="IntegerValue"
HeaderText="Item"/> <asp:BoundColumn DataField="StringValue"
SortExpression="StringValue"
HeaderText="Description"/> <asp:BoundColumn DataField="CurrencyValue"
HeaderText="Price"
SortExpression="CurrencyValue"
DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="Right">
</ItemStyle> </asp:BoundColumn> </Columns>
</asp:DataGrid>
</form>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货