请问一下在vs2003里面DataGrid这个控件怎么排序,以前都是用的2005,第一次用2003的,各位帮帮忙!!!
解决方案 »
- Column count doesn't match value count at row 1的问题。
- 哪位大哥提示下,这条C#.NET路该怎样走啊?
- asp.net+C#+Access打包部署安装
- gridview dataformatstring问题
- JS 带参数 调用c# public 方法
- 自己写的个人理财工具,有兴趣的可以看看
- 欢迎讨论,想弄个提供 [影视] [软件] [音乐]下载的服务器 不知道行不行?
- 如何将DataSet中的表数据,存入到一个结构体数组当中?
- C#中保存一串十六进制数据,用什么类型的数据呀?
- 请问大佬,这段类型转换代码怎么理解吖?
- TabConrol控件的选项卡问题
- 高手怎么处理单元格?
因为双击datagrid表头的话,他会自动排序
============官方源码==================
<%@ 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; // Rebind the data source and specify that it should be sorted
// by the field specified in the SortExpression property.
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind(); } void Check_Change(Object sender, EventArgs e)
{
// Allow or prevent sorting depending on the user's selection.
if (AllowSortingCheckBox.Checked)
{ ItemsGrid.AllowSorting = true; }
else
{ ItemsGrid.AllowSorting = false; } // After changing the property, rebind the data to
// refresh the DataGrid control. // Retrieve the data source from session state.
DataTable dt = (DataTable)Session["Source"]; // Create a DataView from the DataTable.
DataView dv = new DataView(dt); // Rebind the data source.
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind(); } </script>
<body>
<form runat="server" ID="Form1">
<h3>DataGrid AllowSorting Example</h3>
Select whether to allow sorting in the DataGrid control.
<br>
<br>
<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>
<P>
<hr>
<asp:CheckBox id="AllowSortingCheckBox" Text="Allow sorting" AutoPostBack="True" Checked="True"
OnCheckedChanged="Check_Change" runat="server" />
<P></P>
<P>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P>
</form>
</body>
</HTML>