C#:从DataGridView中获取值

时间:2011-02-25 09:16:29

标签: c# .net winforms datagridview

我有一个包含datagridview的表单。基本上,此表单用于从数据库查询客户端。用户进行搜索后,结果显示在DGV上。我希望用户能够点击他们想要的客户端,并能够在另一个表单上查看他们的信息。当新客户端添加到数据库时,它将被赋予一个唯一的ID,因此我将在实际打开包含该信息的表单时使用它。但是,如何通过点击行来从DGV中检索该ID?

提前致谢。

5 个答案:

答案 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)

使用此链接。它会帮助你...

http://www.dotnetperls.com/datagridview-tips

答案 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的列的索引。