Как получить выбранные элементы в DataGridView как DataTable? - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть DataGridView, который принимает значения из БД.Теперь я хочу распечатать только выбранные элементы, которые пользователь выбрал из пользовательского интерфейса.Это то, что я сделал, если пользователь хочет распечатать всю таблицу в DataGridView:

var dataTable = dataGridView1.DataSource as DataTable;

Теперь я пытаюсь использоватьсвойство SelectedCells в DataGridView.Не могу получить это, хотя: - (

var selecteditems = dataGridView1.SelectedCells as DataTable;

Что я делаю здесь не так?поместить выбранные ячейки в таблицу данных.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2010

Не должно быть второй последней строкой что-то вроде этого:

newRow ["column"] = dataGridView.SelectedCells [i];

0 голосов
/ 23 декабря 2010

DataGridView.SelectedCells возвращает вам коллекцию, а не DataTable, к сожалению.

Если вы хотите выводить как DataTable, вы можете клонировать структуру таблицы. Затем выполните итерацию по коллекции SelectedCells.

Что-то вроде:

DataTable selected = dataTable.Clone();
for (int i = 0; i < dataGridView.SelectedCells.Count; i++)
{
     DataRow newRow = selected.NewRow();
     // may have to format below value
     datarow["column"] = dataGridView.SelectedCells[i];
     selected.Rows.Add(newRow);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...