我刚刚开始研究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'。 }
答案 0 :(得分:0)
使用嵌套for循环将数据网格视图的值分配给数据表更容易 要么 您可以将数据网格转换为数据视图,然后将数据视图转换为数据表