Форум: "Начинающим";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];
ВнизПервая видимая запись в 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;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.072 c