|
Модераторы: gambit, Partizan |
|
rocky7 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 148 Регистрация: 20.1.2009 Репутация: нет Всего: нет |
Программа считывает таблицу из csv файла и отображает её в dataGridView. Мне нужно в восьмом столбце dataGridView отображать разность значений соседних ячеек шестого столбца. Я это реализовал, но при большом количестве строк таблицы обработка происходит очень медленно и долго приходиться ждать загрузки данных в dataGridView. Я полагаю что DataGridView должен заниматься отображением данных, а не источником данных для вычислений. Как решить эту проблему?
|
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: 1 Всего: 1 |
После заполнения ридером таблицы, в таблице произведите вычисления, а потом только присваивайте dataGridView1.DataSource.
Грид должен реагировать на каждое изменение ячейки, поэтому там висит куча событий. Всегда, когда хотите быстро вычислить, отцепляйте от грида, после вычислений цепляйте. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
rocky7 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 148 Регистрация: 20.1.2009 Репутация: нет Всего: нет |
Идея понятна. Только не могу разобраться как обращаться к ячейкам таблицы.
|
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: 1 Всего: 1 |
Элементарно. У таблицы есть Rows. Массив по сути.
Наример, так: var row = table.Rows[25]; к ячейке в строке можно обращаться по имени колонки (если оно есть): row["Column1"] = "sdf"; или по номеру: row[3] = "sdf"; Так же и получают значения, только приведенные к object. Надо приводить к нужному типу Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Пардон... В Visual C++ я обращаюсь к ячейкам (если хочу получить текстовое значение) следующим образом:
Вообще лично мне на ум приходит использование массива, в котором будут выполнены все вычисления, и уже потом из этого массива можно заполнить DataGridView; |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |