Select на ред в DBGrid
12 отговора
456 прегледа
Select на ред в DBGrid
Мога ли да имтирам Select на даден Row в DBGrid, или да добавя ръчно даден Row в SelectedRows-bookmarklist-a на DBGrid-a?
CurrentRowSelected
Да, има такова пропърти (мисля беше CurrentRowSelected). В момента съм под линукс и не мога да ти кажа дали беше свойство на самия грид или беше в SelectedRows, но това смятам, че няма да е голям проблем 
Re: Select на ред в DBGrid
SelectedRows е read only :(((( - не можеш да го пипаш. Честно казано не ми хрумва идея за това как да накараш лесно грида да селектира редове - може би ако се разровиш в кода на компонента ще разбереш как може (и дали въобще може да се направи това)
Аз ползвам нещо много лесно за реализация - check box ;-)))
1. Намираш си грид който поддържа check box в колона.
2. Добавяш едно calculated поле към таблицата - и докато тя е отворена можеш да си го сетваш без проблемно ;-)))) - и да го четеш - така можеш да се разхождаш по таблицата и да ползваш полето за маркер на записа.
Това е - ако не ти е жизнено необходимо да показваш в друг цвят реда (което между другото по моя начин може да се постигне много лесно) - това мисля, че е добро решение.
---

Аз ползвам нещо много лесно за реализация - check box ;-)))
1. Намираш си грид който поддържа check box в колона.
2. Добавяш едно calculated поле към таблицата - и докато тя е отворена можеш да си го сетваш без проблемно ;-)))) - и да го четеш - така можеш да се разхождаш по таблицата и да ползваш полето за маркер на записа.
Това е - ако не ти е жизнено необходимо да показваш в друг цвят реда (което между другото по моя начин може да се постигне много лесно) - това мисля, че е добро решение.
---
DBGrid.SelectedRows.CurrentRowSelected
Защо ми се струва, че най-накрая те хванах в грешка
Явно и модератора е човек.
Вече съм на windows-а и проверих. Пропъртито е наистина CurrentRowSelected, само че не е на грида, а на SelectedRows. И поне при мене не е ReadOnly
property CurrentRowSelected: Boolean read GetCurrentRowSelected write SetCurrentRowSelected;
Май имах предиството да се огледам из клуба след като съм си изпил кафето
Вече съм на windows-а и проверих. Пропъртито е наистина CurrentRowSelected, само че не е на грида, а на SelectedRows. И поне при мене не е ReadOnly
property CurrentRowSelected: Boolean read GetCurrentRowSelected write SetCurrentRowSelected;
Май имах предиството да се огледам из клуба след като съм си изпил кафето
Май на някой кафето....
му е дошло в повече или май в по-малко
1. Не видам в какво съм сгрешил - SelectedRows си е read only - това, че можеш да адваш нови неща в селекцията - казах че не знам. Общо взето съм разочарован от начин по който се добавят - ама това е друг въпрос.
2. В контекста на една друга тема -ако говорим за дизайн - не мислиш ли че моята идея е по - чиста и като реализация - и като начин на работа и най-вече можеш да си инициализираш данните без да ти се налага да си показал/създал грид-а. Вярно, ако на човека му трябва точно това - е друг въпрос. Още повече ако имаш достатъчно редове в грид-а - познай ако трябва клиента да ги цели един по един и да държи в това време Ctrl-а и случайно го изтърве - пак от начало ;-)))) - този начин на селекция обикновено води при мен до Ctrl+A , Delete - за да не се занимавам с простотиии от сорта на 100+обекта на място което позволява да се видят само 5.
Айде със здраве и внимавай с кафето ;-))))
---

1. Не видам в какво съм сгрешил - SelectedRows си е read only - това, че можеш да адваш нови неща в селекцията - казах че не знам. Общо взето съм разочарован от начин по който се добавят - ама това е друг въпрос.
2. В контекста на една друга тема -ако говорим за дизайн - не мислиш ли че моята идея е по - чиста и като реализация - и като начин на работа и най-вече можеш да си инициализираш данните без да ти се налага да си показал/създал грид-а. Вярно, ако на човека му трябва точно това - е друг въпрос. Още повече ако имаш достатъчно редове в грид-а - познай ако трябва клиента да ги цели един по един и да държи в това време Ctrl-а и случайно го изтърве - пак от начало ;-)))) - този начин на селекция обикновено води при мен до Ctrl+A , Delete - за да не се занимавам с простотиии от сорта на 100+обекта на място което позволява да се видят само 5.
Айде със здраве и внимавай с кафето ;-))))
---
Може да е било от....
конячето в кафето
Подвел ме е фактът, че SelectedRows е обект и не мислех, че имаш предвид него, а по-скоро нещо от сорта на SelectedRow (т.е. един вид объркано в съзнанието ми CurrentRowSelected :)))
Да, малко е неудобно, че не можеш да (от)маркираш друг запис, освен текущия (е, или всички разбира се), ама се преживява...
А по въпроса за дизайна... Да съгласен съм с теб. Аз също използвам checkbox-ове в някоя колонка (работя изключително с DBGridEh, а той има много глезотийки в това отношение), но си правя fkData поле. Не мислех, че с fkCalculated ще стане. Зависи от ситуацията. Когато трябва да се скролират сума редове за да се маркират няколко из целия грид - да, не е удобно с маркиране на редове, но все пак човека започна темата - затова и за редовете говорим. Обаче ако има по-малко редове (особено ако се съборат всичките на екрана), трябва да се маркират няколко близки - е, не е толкова неудобно. Особено ако си добавиш малко код на OnClick и си (от)маркираш текущият ред. Така не се налага да се държи Ctrl, а и поне EhGrid-а не си отмаркира редовете при разхождане нагоре-надолу...
Имаше там едно време 10 условия от сорта на "какво ви е необходимо за да си отгледате програмист в къщи"... Не ги помня, ама първото беше "чашка за кафе с обем поне 0.5 литра" :)
Подвел ме е фактът, че SelectedRows е обект и не мислех, че имаш предвид него, а по-скоро нещо от сорта на SelectedRow (т.е. един вид объркано в съзнанието ми CurrentRowSelected :)))
Да, малко е неудобно, че не можеш да (от)маркираш друг запис, освен текущия (е, или всички разбира се), ама се преживява...
А по въпроса за дизайна... Да съгласен съм с теб. Аз също използвам checkbox-ове в някоя колонка (работя изключително с DBGridEh, а той има много глезотийки в това отношение), но си правя fkData поле. Не мислех, че с fkCalculated ще стане. Зависи от ситуацията. Когато трябва да се скролират сума редове за да се маркират няколко из целия грид - да, не е удобно с маркиране на редове, но все пак човека започна темата - затова и за редовете говорим. Обаче ако има по-малко редове (особено ако се съборат всичките на екрана), трябва да се маркират няколко близки - е, не е толкова неудобно. Особено ако си добавиш малко код на OnClick и си (от)маркираш текущият ред. Така не се налага да се държи Ctrl, а и поне EhGrid-а не си отмаркира редовете при разхождане нагоре-надолу...
Имаше там едно време 10 условия от сорта на "какво ви е необходимо за да си отгледате програмист в къщи"... Не ги помня, ама първото беше "чашка за кафе с обем поне 0.5 литра" :)
ха вярно е...
за чашката добре...
.. но бих допълнил: "и по едно 4увалче кафе всеки ден" :)
Светът е малък нека си помагаме.
.. но бих допълнил: "и по едно 4увалче кафе всеки ден" :)
Светът е малък нека си помагаме.
Re: Може да е било от....
[линк]
Платен е.... ама за тези, които пишат на кирилица не е съвсем платен.
----------
По склона към връх Фудзи плахо пълзи охлюв към самото небе.
Платен е.... ама за тези, които пишат на кирилица не е съвсем платен.
----------
По склона към връх Фудзи плахо пълзи охлюв към самото небе.
Re: Може да е било от....
Може би въпроса е за клуб "Полиглоти", но някой случайно да знае как се пише февруари на руски, че явно руския ми е зле?!

Re: Може да е било от....
ФЕВРАЛЬФЕВРАЛЬ
Эта лицензия действительна только для граждан
стран бывшего СССР и организаций, зарегистрированных
на территории стран бывшего СССР.
Эта лицензия действительна только для граждан
стран бывшего СССР и организаций, зарегистрированных
на территории стран бывшего СССР.
Re: Може да е било от....
Мерси, мерси!
Туй некъв падеж ще да е
.... аз със ФЕВРАЛЯ се мъчих.
Туй некъв падеж ще да е
Re: Select на ред в DBGrid
Здравейте , силно се надявам да не съм прекалил с кафето , но все пак ако съм , моля да ме извините
Мога ли да имтирам Select на даден Row в DBGrid, или да добавя ръчно даден Row в SelectedRows-bookmarklist-a на DBGrid-a?
Пусни си това парче код някъде из началните процедури :
DBGrid1.Options:= DBGrid1.Options + [dgMultiSelect];
или просто в дизайн-тайм от "Обжект инспектора" настрой пропертито dgMultiSelect от секция "Options" на True ;
После селектваш по обичайния начин с Ctrl + Mouse или Shift + Arrows
Успех.
Sury();
Мога ли да имтирам Select на даден Row в DBGrid, или да добавя ръчно даден Row в SelectedRows-bookmarklist-a на DBGrid-a?
Пусни си това парче код някъде из началните процедури :
DBGrid1.Options:= DBGrid1.Options + [dgMultiSelect];
или просто в дизайн-тайм от "Обжект инспектора" настрой пропертито dgMultiSelect от секция "Options" на True ;
После селектваш по обичайния начин с Ctrl + Mouse или Shift + Arrows
Успех.
Sury();