Как найти идентификатор строки из datagridview, учитывая значение строки? - PullRequest
6 голосов
/ 08 июня 2010

Может кто-нибудь помочь мне, пожалуйста?

Мне нужно найти номер строки из 1 выбранного массива, который я хранил в одном отдельном массиве, и случайно пытаюсь получить номер строки из datagridview

Другими словами: если я знаю значение столбца для данной строки в сетке данных (например, для этой строки FirstName == 'Bud'), как я могу получить идентификатор строки?

Ответы [ 4 ]

19 голосов
/ 08 июня 2010

Вы можете использовать запрос LINQ:

        int index = -1;

        DataGridViewRow row = dgv.Rows
            .Cast<DataGridViewRow>()
            .Where(r => r.Cells[columnId].Value.ToString().Equals("Some string"))
            .First();

        index = row.Index;
1 голос
/ 08 июня 2010

Вероятно, есть какой-то более простой способ отфильтровать его, но в настоящий момент я могу думать только о том, чтобы его пройти.

int rowIndex = -1;
foreach(DataGridViewRow row in DataGridView1.Rows)
{
    if(row.Cells(1).Value.ToString().Equals("mystr"))
    {
        rowIndex = row.Index;
        break;
    }
}
// rowIndex is now either the correct index or -1 if not found
0 голосов
/ 10 июля 2012
//If U Have Add CheckBox To Ur Datagridview
int rowIndex = -1;
DataGridViewCheckBoxCell oCell;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    oCell = row.Cells[0] as DataGridViewCheckBoxCell;
    bool bChecked = (null != oCell && null != oCell.Value && true == (bool)oCell.Value);
    if (true == bChecked)
    {
        rowIndex = row.Index;
       //ur code
    }
}
0 голосов
/ 08 июня 2010

От: http://www.vbforums.com/showthread.php?t=610134

Вызвать метод Find BindingSource и он вернет индекс соответствующей строки, если есть один. Если есть, вы индексируете BindingSource, чтобы получить эту строку и обновите соответствующие поля. Если нет, вы звоните AddNew метод BindingSource для создания новый ряд и установить соответствующий поля.

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