Robert S4r Ответов: 2

Как передать несколько строк datagridview в другой datagridview


Я пытаюсь передать datagridview несколько строк из одной формы в другую datagridview. Он отлично работает для текущей строки, но генерирует ошибку для нескольких строк. То есть не все пути возвращают значение.

Что я уже пробовал:

получить
{
по каждому элементу (ячейки datagridviewrow р в dgv.Строк)
{return row.cells[2].value. Метод toString();}
}
набор
{
.............
}

Bryian Tan

Вы пробовали изменить его, чтобы вернуть список / массив строк вместо строки?

Robert S4r

Ещё нет. Понятия не имею о том, как идти об этом.

2 Ответов

Рейтинг:
2

Maciej Los

Если datagridview в качестве источника данных используется объект DataTable...


//get a datasource
DataTable dt = (DataTable)DataGridView1.DataSource;
//filter data
DataGridView2.DataSource = dt.Filter("Field=whatever");
//or 
DataGridView2.DataSource = dt.AsEnumerable().Select(x=>x.Field<DataTypeOfField>("FieldName")).CopyToDataTable();


Рейтинг:
0

OriginalGriff

Вы не можете вернуть несколько значений из свойства, если не вернете коллекцию - добавление return в цикле завершится цикл возвращением одного значения* Таким образом, компилятор выдает ошибку, потому что если в DGV нет элементов, то нет никакого способа достичь a return оператор и свойство не могут быть скомпилированы.

* Ну, наверное, есть - с помощью yield return но я никогда не пробовал этого в собственности, и это будет сложно организовать.