首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

gridview控件自动排寻后,按某一条件查询时报错:数据源不支持派寻解决方法

2012-07-24 
gridview控件自动排寻后,按某一条件查询时报错:数据源不支持派寻页面源码GridView的 AllowPagingTrue A

gridview控件自动排寻后,按某一条件查询时报错:数据源不支持派寻
页面源码

GridView的 AllowPaging="True" AllowSorting="True" 

<asp:BoundField DataField="name" HeaderText="楼宇名称" SortExpression="name" />
<asp:BoundField DataField="manager" HeaderText="管理员" SortExpression="manager" />
<asp:BoundField DataField="tel" HeaderText="联系电话" SortExpression="tel" />
<asp:BoundField Visible="False" DataField="bid" HeaderText="bid" InsertVisible="False"
  ReadOnly="True" SortExpression="bid" />

在程序运行时若点击某一列的标题后能排序,但是排序后再按某一条件查询时就会出错,查询代码:
  string strcn = ConfigurationManager.ConnectionStrings["mycon"].ToString();
  SqlConnection cn = new SqlConnection(strcn);
  cn.Open();
  string strsql = "select bid,name,manager,tel from building";
  if (txtcxgly.Text != "")
  {
  strsql = strsql+" where manager='" + txtcxgly.Text+"'";
  }
  if (ddllm.SelectedIndex != 0)
  {
  strsql = strsql+" where bid="+ddllm.SelectedValue;
  }
  if (ddllm.SelectedIndex != 0 && txtcxgly.Text != "")
  {
  strsql = strsql+" where manager='" + txtcxgly.Text+ "' and bid=" + ddllm.SelectedValue;
  }
  SqlDataAdapter adp = new SqlDataAdapter(strsql, cn);
  DataSet ds = new DataSet();
  adp.Fill(ds, "query");
  GridView1.DataSourceID = null;
  GridView1.DataSource = ds.Tables[0].DefaultView;
  GridView1.DataBind();这句出错,提示数据源不支持排序  
  cn.Close();

[解决办法]
GridView1.DataSource = ds.Tables[0].DefaultView;
改成GridView1.DataSource = ds;

热点排行