过滤DataTable问题 [英] Filtering DataTable Problem

查看:91
本文介绍了过滤DataTable问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在开发一个页面,当载入时填充了包含数据的网格视图。与此同时,向用户呈现下拉列表以便能够过滤数据。下面是一些代码示例。



 protected void ddlSite_SelectedIndexChanged(object sender,EventArgs e)
{
DataTable dtWorksOrderSummary = new DataTable();
ReportBC reportBC = new ReportBC();

DataSet ds = new DataSet();

ds = reportBC.GetWorksOrderSummary(AccountID.Value);
dtWorksOrderSummary = ds.Tables [0];

gvWorksOrderSummary.DataSource = dtWorksOrderSummary.Select(Site =+ ddlSite.SelectedItem.Text);
gvWorksOrderSummary.DataBind();
}





在页面加载时,ReportBC返回的数据用作网格视图的数据源。我被告知,为了能够过滤数据,使用数据表会更简单,然后将数据表绑定到网格视图。

当我尝试运行代码时,我得到了这个错误语法错误:'牛津'运算符后缺少操作数。

不确定我是否已经清楚地解释了这一点,但任何人都可以解释这个错误或指出我正确的方向我如何实现我的目标。



谢谢

解决方案

试试这个来过滤datagridview中的数据:



 受保护  void  ddlSite_SelectedIndexChanged( object  sender,EventArgs e)
{
try {
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string .Format( 需要过滤的列名= {0} + ddlSite.Text);
}
catch {}
}


Just记得把你的数据绑定代码放在页面加载方法中......



if(!Page.IsPostback)

{

//数据绑定代码

}



防止你对selectedindexchanged方法的更改被覆盖

Hi I'm developing a page which when loads is populated with a grid view which contains data. Along with this the user is presented with drop down list to be able to filter the data. Below is an example of some code.

protected void ddlSite_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable dtWorksOrderSummary = new DataTable();
            ReportBC reportBC = new ReportBC();

            DataSet ds = new DataSet();

            ds = reportBC.GetWorksOrderSummary(AccountID.Value);
            dtWorksOrderSummary = ds.Tables[0];
           
            gvWorksOrderSummary.DataSource = dtWorksOrderSummary.Select("Site=" + ddlSite.SelectedItem.Text);
            gvWorksOrderSummary.DataBind();
        }



On page load the data returned from ReportBC is used as a data source for the grid view. I have been told that to be able to filter the data it would be simpler to use a data table, then bind the data table to the grid view.
When I try to run the code I get this error "Syntax error: Missing operand after 'Oxford' operator."
Not sure if I have explained this very clearly, but can anyone explain this error or point me in the right direction on how I can achieve my goal.

Thanks

解决方案

try this to filter the data in the datagridview :

protected void ddlSite_SelectedIndexChanged(object sender, EventArgs e)
        {
try{
  (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("column name that you need to filter = {0}"+ddlSite.Text);
}
catch{}
}


Just remember to put your data binding code in the page load method in a...

if(!Page.IsPostback)
{
//DataBinding code
}

To prevent your changes in the selectedindexchanged method from being over written


这篇关于过滤DataTable问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆