【问题标题】:C# data bound ListBoxC# 数据绑定 ListBox
【发布时间】:2013-05-22 04:53:29
【问题描述】:

我有以下两个 表:

员工表:

EmployeeID  
Name

等等。

项目表:

ProjectID  
EmployeeID  
ProjectDescription

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

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

将 Company 数据库的 Employee 表(作为详细信息)拖动到表单中会创建以下组件:

• 公司数据集
• 员工绑定来源
• 员工表适配器
• 表适配器管理器
• 员工绑定导航器

  1. 如何将 ListBox 添加到 Form1 以显示当前显示的 Employee 管理的所有项目的 ProjectDescription?需要设置哪些 ListBox 属性?

    我相信我需要以下查询:

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

    参数是employeeIDtextbox.Text

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

我已经在网上搜索并阅读了 Microsoft 文档的页面和页面并且遇到了问题......

【问题讨论】:

  • @Aron - Winform。还编辑了查询...

标签: ms-access c# winforms ms-access listbox


【解决方案1】:

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

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

它不优雅,但它有效。我不能保证代码确实如此,但我没有 C# IDE 来测试它。不过,它应该为您指明正确的方向。

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

【讨论】:

  • @ tjennings - 我想通过更改它的 DESIGN TIME 属性将项目添加到 ListBox - 不是以编程方式。什么检查和对象?我以为为 tableAdapters 调用 Fill 就可以了,但那没有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
  • 2014-09-28
  • 2011-10-06
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多