Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.06.2016, 15:58
|
|||
---|---|---|---|
|
|||
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Привет всем, использую на столбца фильтр с помощью DataGridViewAutoFilter, подскажите как сделать что бы после апдейта датагрида он не сбивался. Чать кода cn.Open(); BindingSource bsshift = new BindingSource(); DataSet dsshift = new DataSet(); DataTable dtshift = new DataTable(); dsshift.Tables.Add(dtshift); SqlDataAdapter dashift = new SqlDataAdapter(); dashift = new SqlDataAdapter("запрос", cn); dashift.Fill(dtshift); bsshift.DataSource = dtshift; gridShift.DataSource = bsshift; cn.Close(); for (int i = 0; i < gridShift.RowCount; i++) { if (Convert.ToInt32(gridShift.Rows[i].Cells["planned"].Value) == 1) gridShift.Rows[i].DefaultCellStyle.BackColor = Color.GreenYellow; if (Convert.ToInt32(gridShift.Rows[i].Cells["ErrUpload"].Value) == 1) gridShift.Rows[i].DefaultCellStyle.BackColor = Color.Red; } DataGridViewColumn truck = gridShift.Columns["truck"]; truck.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(truck.HeaderCell); DataGridViewColumn firstCity = gridShift.Columns["firstCity"]; firstCity.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(firstCity.HeaderCell); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.06.2016, 00:28
|
|||
---|---|---|---|
|
|||
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.06.2016, 12:03
|
|||
---|---|---|---|
|
|||
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Shocker.Pro, спасибо, буду знать. Жаль по делу у вас нечего добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.06.2016, 21:35
|
|||
---|---|---|---|
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Yura1989, Понимаете,такая штука. Вы описали, с излишними подробностями, как Вы используете малоизвестный контрол DataGridViewAutoFilter. Я с ним никогда не работал, но так понял, что он делает "как в Экселе". Эксель - не самый лучший инструмент для работы с базами. Свою слабость он компенсирует разными ухищренными фичами. Типа поиска по форматированию. Несмотря на мое презрение к попыткам сделать "как в Экселе, Ворде, Скайпе, Фаре и т.д.", я, ака Капитан Очевидность, все же дам универсальный совет. Сохраняйте состояние этого автофильтра перед апдейтом и восстанавливайте его после. Однако, коллега, я вижу, что Вы небезнадежны, так как самостоятельно, без изучения рекомендаций из хелпов и бест-практик придумали хитровыеб-ный алгоритм раскраски строк. Ну и что , что Вы просто не дочитали доку по DataGridView до ее событий? Всякие разного рода изменения лучше всего делать в событии CellPaint. В нем можно все! Если не нужно все, то есть немало других, хороших и важных событий. Например, RowPrepaint или CellFormatting. И множество других. Поэтому я предлагаю Вам подумать, а нужен ли этот автофильтр? Может лучше сделать свою развитую систему поисков, сортировок и фильтров? У Сишарпа для этого есть прекрасные возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.06.2016, 21:44
|
|||
---|---|---|---|
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Ах да. Подумайте еще о том, что может не стоит тащить в клиента 100 тыщь строк и потом фильтровать их? Лучше применять фильтры в запросах, что бы пользователь сразу получал то, что ему нужно. Помните, что визуально юзер может надежно найти нужное ему не более чем в 100 строках. Оптимальный размер выборки - 100-300 строк. После этого надо стараться фильтровать на уровне запроса. Наилучшая выборка - когда вернулось столько строк, сколько помещается на экране. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2016, 11:06
|
|||
---|---|---|---|
|
|||
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Cat2, Добрый день, очень благодарен Вам за ответ! Cat2Сохраняйте состояние этого автофильтра перед апдейтом и восстанавливайте его после. Вот это и хочу сделать, но не знаю как отловить на каком столбце фильтр и какое значение выбрано, хотя какое значение выбрано проще, можно просто смотреть на 0 индекс датагрида, а вот на каком столбце фильтр не знаю как споймать. Cat2Лучше применять фильтры в запросах, что бы пользователь сразу получал то, что ему нужно. Так и делаю, не захотел показывать запрос, так как там куча динамических переменных, в которых содержится разный результат запроса в зависимости от выбранных комбобоксов. На данный момент так и не смог решить как сохранить фильтр при помощи указанной мною библиотеки, налипил кучу дополнительных комбобоксов и все, так и живем. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2016, 11:12
|
|||
---|---|---|---|
|
|||
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Cat2, Cat2CellPaint Буду очень благодарен, если покажите пример как использовать. Так как сделал я не правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.06.2016, 15:14
|
|||
---|---|---|---|
DataGridViewAutoFilter как оставить фильтр после апдейта |
|||
#18+
Yura1989пример как использовать. Если в наименовании есть буква "е" Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1400509]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 171ms |
0 / 0 |