【问题标题】:C# Master Detail - Data BindingC# Master Detail - 数据绑定
【发布时间】:2017-08-15 13:42:55
【问题描述】:

我在数据库中有两个表。一个是项目表,另一个是任务表。我有两个 Gridview(如图所示)。项目列在 Gridview1 上,项目的任务列在 Gridview2 上。我想这样做当我单击在 Gridview1 上进行项目时,该项目的任务应该列在 GridView2 中。

我该怎么做?

注意:我使用 DevExpress 和 LİNQ

Picture

【问题讨论】:

  • 您在执行此操作时遇到问题吗?使用 MirzaS 的答案描述的方式应该非常简单。

标签: c# linq devexpress master-detail xtragrid


【解决方案1】:

您需要将 onclick 事件侦听器添加到第一个网格,并且在事件侦听器的代码中,您需要调用查询或过程以从 db 获取该项目的所有任务,并用来自的结果填充第二个网格那个查询。

我不知道你的代码是什么样的,所以我无法帮助你,但它背后的逻辑应该是这样的。

【讨论】:

  • 谢谢,但对我来说还不够
  • 通常只使用第二个 GridControl 上的 DataMember 属性并将其设置为 Projects 对象的 Tasks 集合就足够了。两个 GridControl 将具有相同的数据源; GridControl1 将有一个项目的 DataMember,而 GridControl2 将有一个任务的 DataMember。
  • 我按照你说的做了,但是没有用。刚刚gridcontrol1列出了项目,gridcontrol2l列出了项目的任务
【解决方案2】:

我自己解决了这个问题。我分享解决方案以帮助其他人。 首先,我使用了 Gridview1 的 RowCellClick 事件,这意味着当我单击 gridview1 上的任何行时,它会给我带来我想要的。所以我在活动中写了这个代码。

int seciliDeger = Int32.Parse(gridViewProjeler.GetRowCellValue(e.RowHandle, "project_id").ToString());

这样,我得到了'project_id'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多