我有一个包含datagridview的表单。基本上,此表单用于从数据库查询客户端。用户进行搜索后,结果显示在DGV上。我希望用户能够点击他们想要的客户端,并能够在另一个表单上查看他们的信息。当新客户端添加到数据库时,它将被赋予一个唯一的ID,因此我将在实际打开包含该信息的表单时使用它。但是,如何通过点击行来从DGV中检索该ID?
提前致谢。
答案 0 :(得分:0)
在ItemCollection中将Unique-ID设置为标记对象。
试试这个:
DataGridView.Items[n].Tag = (object)YOUR_UNIQUE_ID
(当然,如果你想要你的身份,同样的命令)
答案 1 :(得分:0)
使用CType
,您可以从DataGridView获取行的主键值。以下是一个例子:
Name = CType(dgview.FindControl("lblname"),Label).Text
在检索上述值之后,您编写一个查询以使用该键进行搜索。从数据库中检索ID值后,再次绑定DataGridView以显示搜索结果。
答案 2 :(得分:0)
使用此链接。它会帮助你...
答案 3 :(得分:0)
配置网格,将SelectionMode属性设置为FullRowSelect。
我认为您使用类似
之类的内容将数据加载到datagridview中GrdClients.DataSource = ListsOfClients
因此,您需要处理网格的CellMouseDoubleClick事件。正如您之前将SelectionMode属性配置为FullRowSelect,您现在可以提取所选客户端
Client ClientElement = GrdRequests.SelectedRows[0].DataBoundItem
ShowClientForm(ClientElement.Id)
答案 4 :(得分:0)
首先,您必须确保DGV包含ID列(您可以通过将Visible属性设置为false来隐藏它)
然后,您必须处理DGV.CellClick事件:
(抱歉VB,从实际代码复制粘贴)
If e.RowIndex < 0 Then Exit Sub
Dim id as integer = dgv.Item(0, e.RowIndex).Value
其中0是包含客户ID的列的索引。