Как заполнить набор данных после получения вида сетки? - PullRequest
0 голосов
/ 15 декабря 2009

У меня есть вид сетки, который имеет много столбцов .. столбцы получаются отдельно и отображаются в виде сетки.

Теперь мне нужно отсортировать это сеточное представление, но я не могу этого сделать ... Я нашел способ, но мне нужно получить сеточное представление в наборе данных или наборе данных .... Есть ли способ сделать это?

DataSet ds= new DataSet();
ds = Gridview1.????

пожалуйста, помогите ..

Ответы [ 4 ]

0 голосов
/ 15 января 2010

Я бы создал общий метод или, может быть, даже класс (в зависимости от того, как часто вам понадобятся эти функции), который отвечал бы за получение набора сборов данных (как бы вы ни извлекали эти столбцы данных) и его компиляцию в связной типизированных данных. Это добавит все встроенные функции сортировки, которые вы получите, а также даст вам возможность иметь единый скомпилированный источник для ваших общих данных. Затем вы можете использовать DefaultView для сортировки / микширования / фильтрации этих данных, не влияя на их исходную природу.

0 голосов
/ 15 декабря 2009

Вы можете создать новый класс для представления каждой строки в таблице и привязки к списку объектов этого класса. Затем, чтобы исправить сортировку, вы можете обернуть ваш источник данных в SortableBindingList . Вы можете использовать файлы PropertyComparer.cs и SortableBindingList.cs из этого zip-файла и использовать его следующим образом:

gridView1.DataSource = new SortableBindingList<cLineItem>(list);

Я проверил это с помощью DataGridView. Я предполагаю, что это также работает с GridView.

0 голосов
/ 15 декабря 2009

Как вы заполняете GridView, используя SqlDataSource (или аналогичный) в ASPX или с кодом в коде .cs?

Существует возможность перебора дочерних элементов управления и приведения объектов, если вы знаете точный состав, но это не весело. Если есть какой-либо способ скопировать данные перед привязкой их к GridView, это было бы более типичным.

0 голосов
/ 15 декабря 2009

Один из способов сделать это - использовать DataGridView и использовать свойство DataSource этого элемента управления:

OleDbConnection conn = new OleDbConnection(connection);

OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand("select * from my_table", conn);
DataSet dataset = new DataSet();

// fill the data set using the query defined in the adapter
adapter.Fill(dataset);

// fill the grid with the data set
DataGridView1.DataSource = dataset.Tables[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...