Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

dbGrid   Найти похожие ветки 

 
сергей1   (2004-08-15 13:18) [0]

Привет всем,

кто-нибудь знает, как в dbGrid сделать недоступным только один из столбцов ? Методы типа

form1.DBGrid1.Columns[1].ReadOnly:=true;
form1.ADOQuery1Field.ReadOnly:=true;

неустраивают, т.к. они хоть и запрешают редактирование, но  значение в строке выделяется и появляется мигающий курсор, пользователи начинают думать что можно править :)


 
Ольга   (2004-08-15 13:53) [1]

Закрась фон колонки серым цветом. Поведение курсора, конечно, от этого не изменится, но на пользователя серый цвет действует успокаивающе - желание корректировать отпадает.


 
сергей1   (2004-08-15 14:13) [2]

тут блин как начинаешь пытаться править, цвет обратно в белый превращается, опять нехорошо ;)


 
Anatoly Podgoretsky ©   (2004-08-15 14:16) [3]

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


 
сергей1   (2004-08-15 14:27) [4]

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


 
Anatoly Podgoretsky ©   (2004-08-15 14:32) [5]

Ответ - значение только для чтения, учись работать с клиентами.


 
сергей1   (2004-08-15 14:40) [6]

эх, были-бы они еще такими понятливыми, в операторы ПК почему-то не идут высокоинтеллектуальные люди закончившие Гарвард


 
Desdechado ©   (2004-08-15 15:01) [7]

попробуй отследить переход между колонками.
как только входит курсор в запрещенную для редактирования колонку, переводи весь грид в режим RO, и наоборот


 
сергей1   (2004-08-15 15:43) [8]

дак read only на всем гриде даст тот-же эффект, тем более я не знаю нормального способа определения названия колонки в событии перемещения между колонками TForm1.DBGrid1ColEnter, если в курсе, напиши. Хотя по-всей видимости здесь ничего нормального сделать неполучится, придется так все оставлять


 
Desdechado ©   (2004-08-15 16:09) [9]

ну ты и ленивый же, пацан
про тот же эффект - проверь, а не домыслы свои пиши
нормальный способ определения колонки описан в доке
OnColEnter event (TCustomDBGrid)
Read the SelectedField or SelectedIndex property to determine which cell was just entered.


 
сергей1   (2004-08-15 16:24) [10]

че-то под вечер клинит, в самом деле SelectedField.FieldName вернет имя столбца, как я сам не увидел.
Ну а про read only специально проверил, проблема осталась. Тут разве-что label какой-нибудь вывесить с надписью "прочь руки от этого столбца". Я-то первоначально думал, что можно enabled у определенного столбца отключать, но видно не судьба


 
asdf   (2004-08-15 22:53) [11]

С помощью OnEnter, OnExit можно не пускать юзера в любую из колонок методом нажатия Таба...
ТАк...
Остается только с помощтю мыши... Попробуй обрабатывать OnClick или OnMouseDown ... находить координаты Mouse... если крыса над той колонкой что тебе нужна переведи ее куда нибудь в другое место... Да кстати написал первое, что пришло в голову... помоему ничего не выполнимого нет...
P.S. не спорить со мной на счет маразматичности предложеного... Опять же говорю написал первое, что пришло в голову!



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
14-1093352150
False_Delirium
2004-08-24 16:55
2004.09.12
Наиболее быстрый способ перемножения матриц.


14-1093032386
Knight
2004-08-21 00:06
2004.09.12
Вопрос к знатокам третьей кваки - арена...


1-1093603807
cvg
2004-08-27 14:50
2004.09.12
Как вывести название кривой в TChart?


1-1093340653
mouse_web
2004-08-24 13:44
2004.09.12
QuickReport просмотр картинки


3-1092395223
REA
2004-08-13 15:07
2004.09.12
Маленький ComboBox