powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / После фильтрации DataGrid возникает ошибка.
9 сообщений из 9, страница 1 из 1
После фильтрации DataGrid возникает ошибка.
    #32627108
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данные DataTable, Визуализация наследник DataGrid где переопределены ProcessCmdKey и OnMouseDown. Согласно описаным здесь методам организовано выделение строки, аля RowSelect.
В таблице есть поле Selection(bool) говорящее о том, что строку выбрали.
Например при жмаке "пробела" в нужной строке выставляется флаг Selection.
FColMultiSelect - номер колонки "Selection"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class SprSample : DataGrid
......
protected override bool ProcessCmdKey(ref Message m, Keys keyData)
{
	if (keyData == case Keys.Space)
	{
		this[CurrentRowIndex, FColMultiSelect] = !(bool)this[CurrentRowIndex, FColMultiSelect];
				
		this.EndEdit(null, this.CurrentRowIndex, false); 
		this.CurrentRowIndex = this.CurrentRowIndex;
		this.Refresh();
					
		Select(CurrentRowIndex); 
		return true;
	} 
	return false;
}
Теперь есть кнопка, настройки фильтра, примерно следующий код:
Код: plaintext
1.
DataView dv = tbl.DefaultView;
dv.RowFilter = "Selection = false";
Т.е. при активизации фильтра на экране только не выделеные строки, но вот после включения фильтра если попытаться выделить строку (т.е. в результате она должна исчезнуть из списка), то возникает ошибка, говорящая о том, что грид не находит последнюю строку.
Я его понимаю, одна строка ведь уже на проходит ч/з фильтр.
Вопрос: Как Гриду дать понять, что строк для визуализации стало меньше?
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32627158
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не пойму, у тебя у грида источник DataTable или DataView? Если DataView так просто у нем эту строку отфильтровать....
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32627178
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry, забыл.
DataTable tbl;
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32627460
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое веселое, что если не делать
Код: plaintext
this.CurrentRowIndex = this.CurrentRowIndex;
То ошибки не возникает, но и запись остается до тех пор пока не дернуть курсором, как только переходишь на другую запись, она исчезает...
Было бы еще нормально, но в этом случае при сортировки по полю Selection курсор при перемещении прыгает за выденной записью...
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32627612
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так сделай вьюс... Или использование datatable так принципиально?
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32627693
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем поможет вьюс если траблы на уровне DataGrid?
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32628141
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Толи я не понимаю проблемы, толи одно из 2-х. Вьюс, позволит тебе отфильтровать выбранные записи без всяких шаманских телодвижений, а в позиционировании курсора я проблемы не вижу...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32628158
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоже вы так много хотите от стандартного DataGrid

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
После фильтрации DataGrid возникает ошибка.
    #32628160
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... я чет не понимаю?
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / После фильтрации DataGrid возникает ошибка.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]