动态DataGridView过滤c#

时间:2016-05-11 19:27:08

标签: c# sql-server datagridview linq-to-sql

我刚刚开始研究c#和sql,我搜索过但我找不到任何问题的解决方案我希望有人会帮助我。 我在表单上有一个DataGridView,它是动态创建的。我使用LINQ to SQL从数据库中获得8列。但我还创建了另一个列名称作为“计算”,它使用其他列数据。我的问题是我需要根据计算列过滤我的表格。我的代码的一部分:

// get datas from database.
var query = _context.Database.SqlQuery<my_Type>("my_stored_procedure");

var binding = new BindingList<my_Type>(query.ToList());
            bsMasterPrimary.DataSource = binding;
            myDataGridView.DataSource = bsMasterPrimary;


//filter

DataView dv = new DataView();

dv = myDataGridView.DataSource as DataView;//dv always comes null 



dv.RowFilter = string.format("Calculation <0");
  //  dt = (DataTable)((BindingSource)this.dgvAmazonFBAInventory.DataSource).DataSource;

我也尝试了这个,但它给出了一个错误:

  

无法将类型为'System.ComponentModel.BindingList`1 [MyProject.MyType]'的对象强制转换为'System.Data.DataTable'。   }

1 个答案:

答案 0 :(得分:0)

使用嵌套for循环将数据网格视图的值分配给数据表更容易 要么 您可以将数据网格转换为数据视图,然后将数据视图转换为数据表