【问题标题】:DataGridView binding to two tablesDataGridView 绑定到两个表
【发布时间】:2012-05-05 08:19:55
【问题描述】:

我有两张桌子。大部分数据来自第一个表,但还有第二个表,其中有一列我想在我的 UI 中显示

这是我的 SQL 查询

String sqlQuery = "SELECT u.CallerName, t.* FROM users u INNER JOIN tickets t ON u.id = t.user WHERE u.CallerName = 'tim.smith'";

我正在使用 WinForms

【问题讨论】:

  • 如何从 users 表中获取数据?我的网格通过 Designer 绑定到门票表
  • 这是给winforms datagridview控件用的吗?

标签: c# sql datagridview datatable


【解决方案1】:

如果你的查询结果是DataTable,那么你可以使用Merge函数合并两个表。

DataTable table1 = GetTable1Data(...);
DataTable table2 = GetTable2Data(...);

table1.Merge(table2, true);

或者如果您的查询结果是List,那么您可以使用与DataTable 情况相同的方法,使用AddRange 函数:

List<YourClassType> list1 = GetList1Data(...);
List<YourClassType> list2 = GetList2Data(...);

list1.AddRange(list2, true);

【讨论】:

    【解决方案2】:

    看起来你做得很好。 与 DataGridView 绑定时,您可以使用: Eval("CallerName") 访问另一列,但该列应该像所有其他列一样工作。

    【讨论】:

    • 我在设计器中这样做吗?
    • 我从来没有真正使用过设计师,所以我不知道。我通常使用 XML asp 文件。如果您要添加列表视图,您可以说类似&lt;asp:Label text='&lt;%# Eval("CallerName") %&gt;' runat="server" &gt;
    猜你喜欢
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2018-04-20
    • 1970-01-01
    • 2011-05-07
    相关资源
    最近更新 更多