c#数据绑定ListBox

本文关键字:ListBox 数据绑定 | 更新日期: 2023-09-27 18:14:50

我有以下两个ms-access表:

员工表:

EmployeeID  
Name

等。

项目表:

ProjectID  
EmployeeID  
ProjectDescription

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

我知道如何使用DataSet设计器在Form1上添加Employee表作为详细信息(多个绑定控件)(Windows窗体应用程序):

将Company数据库的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 = ?  
    

    参数将是employeeIDtextbox。文本

  2. 项目记录将从Form2以编程方式(OleDbConnection, OleDbCommand)创建。显示Form1时,需要用什么语句更新Form1 ?

我搜索了网页,阅读了一页又一页的微软文档,但还是碰壁了。

c#数据绑定ListBox

如果您正在询问如何将projectdescription放入ListBox中,您可以简单地遍历查询返回的记录集并将每个条目添加到ListBox

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

看起来不太优雅,但是很有效。我不能保证代码完全做到这一点,因为我没有c# IDE来测试它。但它应该为你指明正确的方向。

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