2013-05-22 40 views
1

我有以下两个表:C#的数据绑定列表框

Employee表:

EmployeeID 
Name 

项目表:

ProjectID 
EmployeeID 
ProjectDescription 

每个员工都可以管理零或更多项目。

我知道如何使用DataSet设计到Employee表中添加的细节(多重绑定控件)上Form1Windows窗体应用程序):

拖动公司数据库的Employee表(如详细信息)形成创建以下组件:

•CompanyDataSet
•employeeBindingSource
•employeeTableAdapter
•tableAdapterManager
•employeeBindingNavigator

  1. 你如何添加一个列表框到Form1显示所有当前显示的员工管理项目的ProjectDescription?需要设置哪些ListBox属性?

    我相信我会需要以下查询:

    SELECT Project.ProjectDescription 
    FROM Project RIGHT JOIN Employee ON Project.EmployeeID = Employee.EmployeeID 
    WHERE EmployeeID = ? 
    

    参数是从Form 2上employeeIDtextbox.Text

  2. 项目记录将被创建程序(的OleDbConnection,OleDbCommand的)。更新Form1时需要什么声明?

我已经在网上搜索并阅读页面和微软文档的页面,有撞墙......

+0

WinForm或WPF? – Aron

+0

@Aron - Winform。也编辑查询... –

回答

0

如果你问如何获得ProjectDescriptions到列表框,你可以简单地重复通过查询返回的记录集并将每个条目添加到列表框中

foreach (DataRow r in foo) 
{ 
    projectlistbox.Items.Add(r["ProjectDescription"]); 
} 

它不雅,但它的工作原理。我不能保证代码的确如此,我没有一个C#IDE来与我一起测试它。它应该指出你在正确的方向。

若要在从Form2输入数据后更新Form1,请将代码放入Form1.Activated,以检查更新的数据并适当更改Form1上的对象。

+0

@ tjennings - 我想通过改变它的设计时间属性 - 而不是编程添加项目到列表框。什么检查和对象?我认为为tableAdapters调用Fill会做到这一点,但那并不奏效。 –