DataTable能排序吗?你可以用DataTable.DefaultView.Sort属性来实现在视图中排序.比如:
private void SortByTwoColumns()
{
// Get the DefaultViewManager of a DataTable.
DataView view = DataTable1.DefaultView; // By default, the first column sorted ascending.
view.Sort = "State, ZipCode DESC";
}
private void SortByTwoColumns()
{
// Get the DefaultViewManager of a DataTable.
DataView view = DataTable1.DefaultView; // By default, the first column sorted ascending.
view.Sort = "State, ZipCode DESC";
}
解决方案 »
- dev控件 怎样获取gridview中checkbox型的check状态(值)
- 调用C++DLL的时候如何转换char**参数阿
- DataGridView里的行,可以编辑,怎么让他不能修改怎么看?
- oracle中纵向转横向
- c#代码编辑能力很强啊,自动显示整个单词,为什么vc++.net不行那
- VS 2003自带的安装程序项目能否制作这样的安装程序? 将多个已经存在的安装程序打成一个包,然后自动安装?
- 急问为什么不能修改dataset的列名?
- QQ好友比对程序
- 如何接收利用GPRS传送的数据
- 调用C#类的成员函数的时候,编译器有没有插入this指针作为参数(如同C++一样)?
- Duplicate items are not supported by the "Resources" parameter错误,重新复制一个窗体,重命名,以及改变类名。。。出现如下问题,怎么解决
- mainmenu控件的使用。
public DataRow[] Select(string filterExpression, string sort);
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace Program
{
/// <summary>
/// ggrd 的摘要说明。
/// </summary>
public class ggrd : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlTable TABLE1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private SqlDataReader dR;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
DataTable dt=new DataTable();
jyhpublic.DataRead Dread=new jyhpublic.DataRead();
dR=Dread.dRead("select * from ggrd");
string[] aryField = {"Associate","Fieldname","Fileldvalue","Operate","xixixi"};
int num=aryField.Length;
ArrayList al=new ArrayList();
for(int i=0;i<aryField.Length;i++)
{
dt.Columns.Add(new DataColumn(aryField[i], typeof(string)));//设置DataTable的ColumnName,根据不同的字段类型需要设计不同的typeof,最好分开写不要用for循环。
}
while(dR.Read())
{
string str="<a href='images.aspx?images="+dR["images"].ToString()+"' target=_blank>"+dR["image_name"].ToString()+"</a>";
al.Add(str); }
if(al.Count%num==0)
{
for(int i=0;i<(al.Count/num)*num;i++)
{
if(i%num==0)
{
DataRow dr=dt.NewRow();
int a=i;
int b=i+1;
int c=i+2;
int d=i+3;
int g=i+4;
dr[aryField[0]] = al[a];
dr[aryField[1]] = al[b];
dr[aryField[2]] = al[c];
dr[aryField[3]] = al[d];
dr[aryField[4]] = al[g];//设置DataTable的行内容
dt.Rows.Add(dr);
}
}
}
if(al.Count%num!=0)
{
for(int i=0;i<(al.Count/num)*num;i++)
{
if(i%num==0)
{
DataRow dr=dt.NewRow();
int a=i;
int b=i+1;
int c=i+2;
int d=i+3;
int g=i+4;
dr[aryField[0]] = al[a];
dr[aryField[1]] = al[b];
dr[aryField[2]] = al[c];
dr[aryField[3]] = al[d];
dr[aryField[4]] = al[g];//设置DataTable的行内容
dt.Rows.Add(dr);
}
} DataRow haha=dt.NewRow();
for(int j=0;j<al.Count-(al.Count/num)*num;j++)
{
int f=(al.Count/num)*num+j;
haha[aryField[j]]=al[f];
}
dt.Rows.Add(haha);
}
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
比较笨的办法
使用 DataTable1.DefaultView 的Sort 属性实现
--------------
你把DataView做为你要处理的源就不行了吗?
建议用DATAROW。重新装载
这样可以不改变dataTable
还可以得到所要的数据集