【发布时间】:2014-04-10 05:14:23
【问题描述】:
在我的应用程序中,我使用 DataGridView 来显示列表。当用户在 datagridview 中选择一条记录时,它应该在另一个面板中显示详细信息。对于选择,我被要求使用 DataGridView1_SelectionChanged 事件。
DataGridView 应该只包含一列,但详细信息显示可能会有更多关于选定记录的信息(我们可以通过查询选定的主键值从数据库中获取所有详细信息)。
请告知是否可以获取所选数据键(主键) DataGridView 记录。 DataGridView 会根据主键绑定吗 ?
编辑
我已经实现了 DataGridView1.Columns["ID"].Visible = false。它运作良好。 对于选择,我添加了 DataGridView1_SelectionChanged 事件。
但 DataGridView1_SelectionChanged 事件会触发多次。
【问题讨论】:
-
我建议您为主键字段添加另一列并通过 dgv.CurrentRow.Cells["colPKField"].Value 检索它。
-
但我被要求不要在 GridView 中显示主键。我认为它也不安全..!你说什么?
-
您可以通过将 visible 属性分配为 false 来隐藏该列。
dgv.Columns["colPKField"].Visible =false; -
@Nimesh 是的,我实现了它,它运行良好。但是当我调用 dgv_SelectionChanged 事件时,我遇到了严重的问题,它被多次触发。我发现 SOF 中的其他一些人也遇到了异常,但没有解释他是如何解决的。
-
试试
RowEnter事件。
标签: c# winforms data-binding datagridview selectionchanged