【问题标题】:Not displaying data in gridview when applying filter to a dataset将过滤器应用于数据集时,不在gridview中显示数据
【发布时间】:2012-01-17 07:18:27
【问题描述】:

过滤时我的gridview不显示数据

protected void Page_Load(object sender, EventArgs e)
    {
        OleDbConnection conn=new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Dynacs.accdb");
        OleDbDataAdapter da = new OleDbDataAdapter("select empname,pass,status from employees", conn);
        DataSet ds = new DataSet();
        da.Fill(ds, "emp");
        GridView1.DataSource = ds.Tables["emp"].Select("status='in'");
        GridView1.DataBind();
    }


【问题讨论】:

  • ds.Tables["emp"].Select("status='in'") 返回什么?其次从.aspx 发布gridview 代码?第三,在页面加载时处理IsPostBack,如果IsPostBack为假,则进行绑定。
  • 此语句中的任何错误GridView1.DataSource = ds.Tables["emp"].Select("status='in'");
  • 我不确定,但不应该从数据集中设置 GridView.DataSource 吗?您正在使用 DataRows 数组。
  • 感谢大家的宝贵建议。

标签: asp.net .net gridview filter dataset


【解决方案1】:
OleDbDataAdapter da = new OleDbDataAdapter("select empname,pass,status from employees", conn);
        DataSet ds1=new DataSet();
        da.Fill(ds1,"emp");
            var datasource = from r in ds1.Tables["emp"].AsEnumerable()
                             where r.Field<string>("status")=="out"
                             select new{empname=r.Field<String>("empname"),status=r.Field<string>("status")};
            GridView1.DataSource = datasource;
            GridView1.DataBind();

【讨论】:

  • 这是您问题的答案吗? (大概是的,因为您用它回答了其他问题)。请详细说明一下,不要忘记在系统允许的情况下标记为已接受。
猜你喜欢
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 2014-02-21
相关资源
最近更新 更多