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

Вниз

Первая видимая запись в TDBStringGrid   Найти похожие ветки 

 
TheEd   (2011-09-10 15:39) [0]

Если говорить о TStringList, то это TopRow. Чего его закрыли в TDBStringGrid? Как определить или изменить первую видимую запись?


 
Inovet ©   (2011-09-10 15:47) [1]

> [0] TheEd   (10.09.11 15:39)
> TDBStringGrid

Это что?
В 100500-й раз - в TDBGrid нет данных.


 
Pushok   (2011-09-10 16:04) [2]

Она только отображает то что у тебя находится в DB, там и меняй.
через что ты там подключаешся к базе?


 
SQLEX ©   (2011-09-10 16:11) [3]

http://www.gunsmoker.ru/2008/10/x-y-z.html
если это не этот случай :), то можно и так, например, взять данные.

Данные там есть, на самом деле - мы же их видим, у них есть размеры, цвет, Pchar-ный образ в памяти. они же выводятся на экран :)

 TCG = class(TCustomGrid);
var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  ShowMessage( TCG(dbgrd1).GetEditText(1,1) );

но, как правило, этого не нужно.
в DBGrid работают через его DataSet и никак ииначе.


 
TheEd   (2011-09-10 19:04) [4]

Да речь не о том - данные ДБГрид показывает, но показывает напр. с записи Х по запись Y, при этом RecNo у соответствующего ДатаСета может быть от X до Y.
Требуется же узнать первый отображаемый номер строки, ну или если так правильнее - его ReNo.
Мне это нужно для переопределения вертикального скроллинга, т.е. прокрутить на экран вверх или вниз - а для этого нужно знать что видно и на сколько записей крутить!


 
Inovet ©   (2011-09-10 19:18) [5]

> [4] TheEd   (10.09.11 19:04)
> Мне это нужно для переопределения вертикального скроллинга

Зачем? DBGrid сам всё умеет крутить. А на RecNo сильно не расчитывай. DBGridEh при некоторых нерекомендуемых установках в некоторых Dataset отображает полосу прокрутки в привычном пропорциональном виде, DBGrid не помню.


 
TheEd   (2011-09-10 19:46) [6]


> Зачем?

у меня инерфейс специфический со своими скролбарами.


 
Cobalt ©   (2011-09-12 11:07) [7]

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


 
TheEd   (2011-09-12 22:54) [8]


> Заставляйте пользователя выделять строку данных, которую
> необходимо изменить.

Дык предполагается что юзер должен выбрать одну запись из всех. А если он хочет пролистать на экран, тыкает в кнопку ПэйджАп/Даун и я прокручиваю DBGrid...


 
Германн ©   (2011-09-13 00:19) [9]


> Дык предполагается что юзер должен выбрать одну запись из
> всех.

Ну и пусть юзер выберет сам ту запись, которую надо изменить. При чём тут некий TopRow или DBGrid с вашими самопальными скроллами?

P.S. Опять XYZ? http://www.gunsmoker.ru/2008/10/x-y-z.html


 
TheEd   (2011-09-14 02:05) [10]

to Германн:

> Ну и пусть юзер выберет сам ту запись, которую надо изменить.

Юзер выбирает запись не для того, чтобы менять. Ну типа выбрал из списка свою группу, а на следующей странице мастера в детальной таблице выбирает, к примеру своё фамилиё.

> При чём тут некий TopRow или DBGrid с вашими самопальными
> скроллами?

Повторюсь - интерфейс - спецефический, клавы - нет, мыши - тоже. Юзер бужет тыкать пальцами по тачскрину. Естественно, стандартный скролбокс мелкий и неудобный (я его то реализовал, малость даже растянул, но он растягивается только по одной координате:( ).
И для целей перемотки списка на экран вперёд-назад и нужен свой скролбокс. Писать компонент с нуля можно, но это грабли, шишки и баги (не каждый день визуальные компоненты пишу...) - поэтому пока обошёлся двумя кнопками всерху и снизу скролбокса, квадратными, равными его ширине - задача решается, но скролбокс всё равно выглядит неказисто.
В принципе я смирился с данной темой, буду похоже иммитоировать скролбокс как писал DimaBr из этого поста:
http://delphimaster.net/view/5-1315651190/


 
Inovet ©   (2011-09-14 02:14) [11]

> [10] TheEd   (14.09.11 02:05)
> интерфейс - спецефический, клавы - нет, мыши - тоже.

Так можно же посылать окну сообщения от элементов интерфейса о нажатиях PageUp, PageDown.


 
Германн ©   (2011-09-14 03:23) [12]


> В принципе я смирился с данной темой, буду похоже иммитоировать
> скролбокс как писал DimaBr

Если сможете. :)


 
TheEd   (2011-09-14 03:49) [13]


> Так можно же посылать окну сообщения от элементов интерфейса
> о нажатиях PageUp, PageDown.

Спасибо ! Так в принципе и решил, просто уже принципиально интересно - зачем убирать TopVisibleRow и как его вычислить...

> Если сможете. :)

вопрос только в человеко-часах :)))
зы: задумка есть чтобы не парить моск созданием велосипеда: положу невидимый скробокс, свяжу его с TDBGridEh.VertScrolBar.ExtScrolBar, а сам нарисую какой нужно, при этом параметры буду у невидимого компонента брать и события ему трансферить. Криво но быстро.


 
Anatoly Podgoretsky ©   (2011-09-14 07:44) [14]

> TheEd  (14.09.2011 02:05:10)  [10]

Самоделькин, в планшетах, в ноутбуках и телефонах давно уже реализовали


 
sniknik ©   (2011-09-14 08:15) [15]

> в планшетах, в ноутбуках и телефонах давно уже реализовали
а на ПС разве нет? скролинг пальцем как там не, что иное как начало Drug-а при Drug&Drop, (перемещение мыши с зажатой клавишей, с тачскрином аналогично "мазок" пальцем по экрану). или движение карт при зажатом батоне мышы...
просто они там по своему одно и то же действие обрабатывают.
т.е. ноухау не в новой реализации чего то, а в новом действии у старого события.
в общем то легко можно повторить, теперь когда это уже очевидно для юзера... а вот раньше когда то давно пытался, что то подобное внедрить в одной программе... вызвало у юзеров (и начальства в основном) яростное отторжение.


 
Anatoly Podgoretsky ©   (2011-09-14 08:41) [16]

> sniknik  (14.09.2011 08:15:15)  [15]

Видимо не реализовали, судя по вопросу.

Конечно, ты внедрил, а им монитор протирать


 
sniknik ©   (2011-09-14 09:43) [17]

> Видимо не реализовали, судя по вопросу.
ну, именно в том виде что ему нужно, естественно (а что вообще реализовано в программировании? в нем же результат готовая программа... таких компонент не бывает ;). но "кирпичики" из которых можно построить нужное есть.

> Конечно, ты внедрил, а им монитор протирать
не... ;) тогда тачкринов было мало, я тогда новое действие на мышку (с тачпападом бы конечно работало, если бы был, но не было) пытался "повесить". т.е. если только протирать "изнутри", от курсора. :)

у меня было, в MDI интерфейсе перетаскивание записей между формами, ну вот я и пытался (заколебавшись сам на тестах) "упростить", не "дотаскивать" до конца, а просто "обозначать движение" типа дернул в нужную сторону и отпустил (похоже? по моему да), и запись отправлялась по нему.
особенно удобно было рассортировывать записи (товары) по объектам (весам/группам), типа вокруг списка открыл нужные объекты листаешь его (по названию можно было только визуально определить что куда) и отправляешь в нужную сторону/объект мелкими подергиваниями мыши.
но... начальство не восприняло, типа "а если ошибется?" (ну удалишь что такого?), не донесешь идею до "тупых" юзеров (хотя в основном тупизна в них самих, сейчас бы на ура прошло стоило бы только в сторону "таблеток" кивнуть ;(), и т.д., пришлось убрать.


 
Anatoly Podgoretsky ©   (2011-09-14 09:55) [18]

> sniknik  (14.09.2011 09:43:17)  [17]

Опередил ты свое время :-)


 
sniknik ©   (2011-09-14 10:09) [19]

получается да...
хотя грустно, оценивается не удобство/полезность/функциональность, а "раскрученность"/"разрекламированность" фичи.


 
Inovet ©   (2011-09-14 10:23) [20]

> [16] Anatoly Podgoretsky ©   (14.09.11 08:41)
> Конечно, ты внедрил, а им монитор протирать

Они их не протирают, всегда чёрные от грязи экран залапан жирными руками (сало едят и возят по экрану палцами) и ещё ручками и карандашами поджеркивают на экране, особо продвинутые какими-то чтрашными железяками со скрипом, как стеклорез.


 
Inovet ©   (2011-09-14 10:27) [21]

> [17] sniknik ©   (14.09.11 09:43)
> не "дотаскивать" до конца, а просто "обозначать движение"
> типа дернул в нужную сторону и отпустил

Нифига себе, швырять между окнами совсем не то что пальцами в одном скролить. А если их десять открыто и не вто улетят как потом выковыривать.


 
TheEd   (2011-09-14 11:14) [22]


> Самоделькин, в планшетах, в ноутбуках и телефонах давно
> уже реализовали

это не то и не другое, а типа информационного терминала. Пальцем елозить не каждый юзверь знает, поэтому батоны для них ложу с картинками и/или надписями.
Как показывает практика в баттоны тыкать сегодня умеют даже имбецилы :)
Насчёт сала Inovet в точку попал - засирают часто.


 
sniknik ©   (2011-09-14 11:30) [23]

> Нифига себе, швырять между окнами совсем не то что пальцами в одном скролить.
то же самое, и даже по действиям если тачскрин... т.е. ткнул пальцем, "мазнул" в нужную сторону - "запись ушла". вместо скрола в одном.

> А если их десять открыто и не вто улетят как потом выковыривать.
во первых не десять, максимум 4 (в реале было удобнее на 2-х/3-х).
а во вторых, во во, буквально те же слова... не пробуя, и не работая с этим, сразу "штыки".

и что значит выковыривать? окно перед глазами, 2-4 формы рядом, подцепи ошибочную из соседнего и "толкни назад".
вы вообще с драг & дропом работали? тут/там была вся разница не тащить непосредственно до приемника (четверть экрана) а "двинуть" в сторону (пол сантиметра). с вариантом тачскрина "поскреб" пальцем и перекинул десяток записей... бывает проще чем выделять, и отправлять "кучей", хотя и так можно было.

что такого сложного/ужастного, что даже с примером перед глазами не воспринимается?


 
Inovet ©   (2011-09-14 11:46) [24]

> [23] sniknik ©   (14.09.11 11:30)
> не пробуя, и не работая с этим, сразу "штыки".

Не спорю, может и удобно. Но всё-таки принципиальное резличие между в одном объекте крутнуть отпустить ничего ведь не изменится, и между разными, когда меняется, вроде как хочется уверенности - донёс до места и отпустил. Как оно на практике - надо пробовать, на кошках.


 
sniknik ©   (2011-09-14 12:20) [25]

> вроде как хочется уверенности - донёс до места и отпустил
когда разгребешь за день кодов так 200-300, тупо хочется "попроще", а уверенность она глазами получается.
т.е. 200-300 это на тестах, а в реале оператор может по 8-10 тыс записей в день перекидывать. (в основном конечно группами, а не позаписьно, хотя для групп тот же принцип, и сумме немногим больше тестовых... но все одно мало хорошего, так и накручиваются мышиные километры)

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


 
Inovet ©   (2011-09-14 13:04) [26]

> [25] sniknik ©   (14.09.11 12:20)
> и тут "работа мышкой" проигрывает клавиатуре. эээ... ну не везде конечно, но в основном.

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


 
Anatoly Podgoretsky ©   (2011-09-14 15:12) [27]

> TheEd  (14.09.2011 11:14:22)  [22]

И без надписей могут?


 
TheEd   (2011-09-17 00:25) [28]


> И без надписей могут?

почему бы нет, если рисунок интуитивен? :)



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

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

Наверх




Память: 0.55 MB
Время: 0.011 c
8-1219696911
Zilog
2008-08-26 00:41
2011.12.25
Как узнать, насоклько один цвет отличается от другого (RGB)


15-1315829392
Vjcr
2011-09-12 16:09
2011.12.25
php цикл по датам


1-1278219470
revo
2010-07-04 08:57
2011.12.25
Занят файл или нет


2-1315760239
WorkWork
2011-09-11 20:57
2011.12.25
Вопрос по ADO и компонентам БД


9-1190628658
max_
2007-09-24 14:10
2011.12.25
3D модели