重新填充具有内部联接的dataSet的dataGridView

时间:2013-04-24 22:23:41

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

我有dataGridView,它有dataSet,绑定源和tableAdapter。 在由tableAdapter绑定到dataGridView的dataSet中,我使用了内连接。

桌车: Car_ID,Client_ID,Model,LastOilChange,property ....

表型号: ID_Model,NameOfModel,ID_Producent

表产品: ID_Producent,NameOfProducent

DataGridView标头: NameOfProducent,NameOfModel,LastOilChange,property ...

...所以内部联接用于将Cars.Model与Model.ID_Model连接,使用Model.ID_producent与Producents.ID_Producent连接。

当表格加载初始化表格时 - 一切都很好,每个值都在列中,应该是。

我不知道如何使用过滤器?我想只为某些Client_ID选择汽车,当我这样做时 - 模型和生产是空的:/

我这样做:

List<Car> ClientsCar = (from u in DB.Cars
                        where u.Client_ID == sometextbox.text
                        select u).ToList();
DataGridView.BindingSource = ClientsCar;

请告诉我方式:)

1 个答案:

答案 0 :(得分:0)

答案很简单(像往常一样)。

我创建了一个以ClientID为参数的过程,并返回此客户端的select(带有内连接和其他东西)。之后,我从该过程为DataSource创建了DataGridView,并使用TableAdapter将其填充为GetData方法。

dataGridViewSamochodyPowiazaneKlienta.DataSource = this.wyszukajSamochodyKlientaTableAdapter.GetData(ID_klienta.ToString()).ToArray();
dataGridViewSamochodyPowiazaneKlienta.Refresh();

这解决了我的问题。