楼上是对的,可能楼主的意思就像是点击一张表格的页眉,下面的列,如果是无序,就让它升序排列,如果是升序就让它降序。同意吗??如果同意,请看下面代码:
private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if(ViewState["order"]==null) //ViewState["order"]专门用来保存“升降序”信息
{
ViewState["order"]="ASC";
}
else
{
if(ViewState["order"].ToString()=="ASC")
{
ViewState["order"]="DESC";
}
else
{
ViewState["order"]="ASC";
}
}
SqlConnection con=DB.createCon();
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand=new SqlCommand("select 需要的字段 from 数据库名",con);
DataSet ds=new DataSet();
sda.Fill(ds,"name"); //name是你填充到ds中的表名
ds.Tables["name"].DefaultView.Sort=e.SortExpression+" "+ViewState["order"].ToString(); //e.SortExpression这个是你的排序表达式,指针对哪个字段排序
this.DataGrid1.DataSource=ds.Tables["emp"].DefaultView;
this.DataGrid1.DataBind(); //绑定DataGrid便于显示。如果只想在数据库中排序,则不用,修改Sql语句即可
}
这个是在DataGrid控件上做的。专门用于对付点击表格页眉导致此列升降序。。。