vs2008中 gridview绑定sqldatasource
后台pageload
{
sqldatasource1.SelectCommand =" select id ,name,note from t where note='a'"
SqlDataSource1.SelectParameters.Clear();
SqlDataSource1.Selecting += new SqlDataSourceSelectingEventHandler(SqlDataSource1_Selecting);
 }protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
 {
       SqlDataSource1.SelectCommand += " order by id";
}
为什么启动的时候,gridview里面的数据不是按照 id来排序?
如果pageload这样的话,
{
sqldatasource1.SelectCommand =" select id ,name,note from t where note='a' order by id"
SqlDataSource1.SelectParameters.Clear();
 }
gridview就能按照 id 排序了。
这是怎么回事呢。还需要什么设置

解决方案 »

  1.   

    可能是你写在了pageload里面,你注册的事件没有触发,所以追加的sql命名没有执行!
      

  2.   

    你sql取数据的时候是什么顺序,gridview就按照那个顺序显示出来
      

  3.   

    Selecting事件里面再修改SelectCommand是不是有点迟了
      

  4.   

    sql里面按照 order id  的顺序,不过gridview并没有这样显示。
    可能没有触发。很有可能。继续请教。
      

  5.   

    gridview1.DataSource =" select id ,name,note from t where note='a'"
    gridview1.DataBind();
    试下可以么
      

  6.   

    我不大清楚你这个写法,我尽量需要sqldatasource,不过谢谢了