powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как отметить одну или несколько строк в Grid?
25 сообщений из 57, страница 2 из 3
Как отметить одну или несколько строк в Grid?
    #36828044
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.Игорь Горбонос,
да, и еще заметил: в моих запросах стояла только одна единственная строка для замены "<как там получившийсяя курсор называется>" и никаких других вариантов не было. Никаких _tmp и без него.
Делал именно так. Получил "Alias name is already in use".
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828065
Юрий Р.проходящий.Игорь Горбонос,
да, и еще заметил: в моих запросах стояла только одна единственная строка для замены "<как там получившийсяя курсор называется>" и никаких других вариантов не было. Никаких _tmp и без него.
Делал именно так. Получил "Alias name is already in use".При наличии into table - сколько угодно. При наличии прочих ошибок или самодеятельности - тоже.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828067
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

Имя алиаса: CASHORD,
RECORDSOURCE = "CASHORD",
Проблема существует именно при "трогании" ячейки с чекбоксом, а именно выдается диалоговое окно открытия таблицы.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828073
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
	SELECT * FROM cashord INTO CURSOR cashord READWRITE
Результат - упомянутая выше ошибка.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828079
Юрий Р.Проблема существует именно при "трогании" ячейки с чекбоксом, а именно выдается диалоговое окно открытия таблицы.Так какого лешего Вы прицепились к гриду и его источникам данных? Вот настройки чекбокса и ковыряйте. Там, наверняка, в recordsourse или controlsource стоит какойто левый алиас.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828087
Юрий Р.
Код: plaintext
1.
	SELECT * FROM cashord INTO CURSOR cashord READWRITE
Результат - упомянутая выше ошибка.Покажите весь код начиная с команды sqlexec().
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828093
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай так и никаких альтеров не надо:
Код: plaintext
SELECT .F. as is_checked, * FROM cashord_tmp INTO CURSOR cashord READWRITE
PS селект cashord в cashord не сработает
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828112
Dima TPS селект cashord в cashord не сработаетНе смотря на сие утверждение у меня такие конструкции работают в нескольких местах. Что я делаю неправильно?
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828125
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
...
lnSQLResult = SQLEXEC(gnConnHandle, lcMySQL, "cashord")
	
this.cursorcreated = (lnSQLResult != - 1 )

IF !this.cursorcreated
	= MESSAGEBOX("Курсор не создан.",  16 , "Ошибка")
ELSE

	IF USED("cashord")
		USE IN cashord
	ENDIF
	SELECT * FROM cashord INTO CURSOR cashord READWRITE    && выдает указанную ошибку
	ALTER TABLE cashord ADD COLUMN is_checked L
ENDIF
...
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828129
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вижу глупость
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828135
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ох жешь, заставили дурака Богу молиться
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828161
Юрий Р.проходящий.,

Код: plaintext
1.
2.
3.
4.
5.
	IF USED("cashord")
		USE IN cashord
	ENDIF
	SELECT * FROM cashord INTO CURSOR cashord READWRITE    && выдает указанную ошибку
...
Вы хоть немного думали над своими действиями? Вы пробовали хотя бы в уме произвести те действия, которые Вы написали компьютеру?
В переводе не русский язык Ваш код выглядит так:

Код: plaintext
1.
2.
3.
если есть курсор cashord
 грохнуть этот курсор
конецесли
выбрать из грохнутого курсора и т.д.
Можно поинтересоваться, для чего Вы убиваете только что полученный курсор, с которым даже еще ничего не успели сделать? Чем он Вам помешал?
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828279
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

Да ладно Вам... Чего в спешке не бывает? Главное, что я это сам породил, сам и убил.
А вот чекбокс по прежнему глючит.

Дима Т.,

Должен огорчить. Таки селект cashord в cashord работает. Сам только что убедился.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828306
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Юрий Р.
> А вот чекбокс по прежнему глючит.

грохни этот чекбокс и поставь туда новый и снова переназначь правильно свойства и методы.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828324
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.Dima TPS селект cashord в cashord не сработаетНе смотря на сие утверждение у меня такие конструкции работают в нескольких местах. Что я делаю неправильно?
Это я неправильно проверял: из DBF-ки в одноименный курсор не работает. Курсор в курсор работает.

Юрий Р.Дима Т.,
Должен огорчить. Таки селект cashord в cashord работает. Сам только что убедился.
Работает, а остальное читал что я выше писал? С полем integer тоже все работает.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828362
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий Р.Дима Т.,
Должен огорчить. Таки селект cashord в cashord работает. Сам только что убедился.
Работает, а остальное читал что я выше писал? С полем integer тоже все работает.
Но ведь должен же работать и с Logical?!
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828406
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий Р.Но ведь должен же работать и с Logical?!
У меня работают оба варианта. Самплес с Logical в архиве
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828410
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
архив не прицепился
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828543
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tархив не прицепился
Спасибо за примеры. Вылечилось удалением моего текста процедуры Click. Все работает по умолчанию.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828547
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромная благодарность всем, кто помогал мне разобраться.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36828649
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу добавить в заключение, что команда
Код: plaintext
1.
ALTER TABLE cashord ADD COLUMN is_checked L
вызывала ошибку "Invalid operation for the cursor" в том случае, если в результирующем курсоре были столбцы с именами длиннее 10-ти символов.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36830416
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть несколько решений для выделения строк в Grid не через объект CheckBox, а по стандартным правилам Windows. Т.е. клавишей мыши с нажатыми клавишами Ctrl или Shift

Отметка произвольной группы записей в Grid'е - наиболее простое и понятное
Отметки в Grid
Petrovich Grid (AKA Grid от Petrovich)

В последних двух разобраться можно, но они значительно более сложны для понимания. Хотя, принцип, в общем-то, тот же.

Идея в том, что по некоему действию пользователя фиксируется некий идентификатор строки (в массиве или в курсоре) как признак того, что эта запись выбрана. А затем выполняется отрисовка фона опять же через методы Column.Dynamic... Отличия только в степени "крутизны" и различных "наворотов" накрученных вокруг этой идеи. Первый вариант содержит минимально необходимый код, поэтому его проще понять. Там ничего не "накручено".

Если надо, можно сделать и пометку через CheckBox. Причем вовсе не обязательно для этого создавать поле (хотя с полем все значительно упрощается). Идея в том, что в столбец Grid кладется два объекта CheckBox. Один с установленной галкой, другой - нет. И по клику мышки в Column.DynamicCurrentControl запоминаешь пометку и выбираешь какой из контролов отображать. Разумеется, столбец не привязан к какому-либо источнику данных и имеет Column.Bound = .F.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36830933
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Большое спасибо!
Обязательно разберусь и возьму на вооружение предложенные Вами варианты решения задачи (или один из них).
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36831082
FoxSoftware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий Р.На форме есть Grid, отображающий курсор, как результат запроса к Informix. Можно ли и как реализовать возможность визуально помечать отдельные строки в Grid-е с целью дальнейшей обработки только отмеченных по нажатию кнопки на той же форме?
Сразу уточню, что таблица, из которой делается выборка, не содержит подходящего столбца (логического типа), к которому можно было бы привязать функцию отметки.
Создание такого столбца функцией CAST() не дает желаемого эффекта (или я не так ее использую).
Посоветуйте как быть?
Можно,
используй свойство колонок грида DynamicBackColor и функцию RGB().
Меняет цвет, но может влиять на скорость переотображения записей в таблице грид.
Дело вкуса.
...
Рейтинг: 0 / 0
Как отметить одну или несколько строк в Grid?
    #36831491
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ... Если надо, можно сделать и пометку через CheckBox. Причем вовсе не обязательно для этого создавать поле (хотя с полем все значительно упрощается). Идея в том, что в столбец Grid кладется два объекта CheckBox. Один с установленной галкой, другой - нет. И по клику мышки в Column.DynamicCurrentControl запоминаешь пометку и выбираешь какой из контролов отображать. Разумеется, столбец не привязан к какому-либо источнику данных и имеет Column.Bound = .F.
Что-то туго соображаю. Не совсем понятен механизм использования св-ва Column1.DynamicCurrentControl.
Я его пытаюсь изменить в событии Checkbox.Click, но выдается ошибка о несогласовании типа данных Value.
Код события не привожу, так как его наличие/отсутствие не влияет на ошибку. Даже при попытке узнать тип с помощью функции VARTYPE(thisform.grid1.column1.checkbox1.value) в Form1.Init выдается та же ошибка: Error with Checkbox1 - Value: data type mismatch.
Может покажете кусочек соответствующего кода?
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 2 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как отметить одну или несколько строк в Grid?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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