программно выбрать строку на основе значений gridview - PullRequest
1 голос
/ 19 ноября 2010

Что у меня есть

У меня есть DataGridView с 3 столбцами (metric_key, metric_name, metric_value).

Например, в этой таблице 6 строк (6 различных метрик), добавленопрограммно (DGV никак не связан)

Теперь, когда я присваиваю значения в своей сетке, я делаю:

dataGridView1.item("Metric_value",0).value = "value of the metric in row 0, in the column named "metric_Value".

Что бы я хотел

Однако яищу способ использования значения в столбце metric_Key для выполнения моего назначения, например:

datagridView1.item("metric_Value","My_metric_Key")   

вместо ввода идентификатора строки или, возможно,

datagridview1.item("metric_value",Indexof("My_metric_Key"))

Или

datagridview1.item("metric_value",findValue("my_metric_key","metric_key"))

и т. Д.

Я не хочу создавать какие-либо другие объекты (просмотр данных и т. Д.).

Как я могу это сделать?

1 Ответ

2 голосов
/ 20 ноября 2010

Нет встроенного способа сделать это.Но вы можете определить метод расширения в DataGridView, чтобы выполнить это.

<System.Runtime.CompilerServices.Extension()> _
Function FindValue(ByRef dgv As DataGridView, ByVal metric_key As Object) As DataGridViewRow
    For Each row As DataGridViewRow In dgv.Rows
        If row.Cells.Item("metric_value").Value = metric_key Then
            Return row
        End If
    Next
    Return Nothing
End Function

Так что, если вы хотите получить строку, где значение metric_value равно 1, вы можете использовать

dataGridView1.FindValue(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...