Select на ред в DBGrid

12 отговора 456 прегледа
#1

Select на ред в DBGrid

Мога ли да имтирам Select на даден Row в DBGrid, или да добавя ръчно даден Row в SelectedRows-bookmarklist-a на DBGrid-a?

Отговор
в отговор на VladoVasilev #2

CurrentRowSelected

Да, има такова пропърти (мисля беше CurrentRowSelected). В момента съм под линукс и не мога да ти кажа дали беше свойство на самия грид или беше в SelectedRows, но това смятам, че няма да е голям проблем

Отговор
в отговор на VladoVasilev #3

Re: Select на ред в DBGrid

SelectedRows е read only :(((( - не можеш да го пипаш. Честно казано не ми хрумва идея за това как да накараш лесно грида да селектира редове - може би ако се разровиш в кода на компонента ще разбереш как може (и дали въобще може да се направи това)

Аз ползвам нещо много лесно за реализация - check box ;-)))
1. Намираш си грид който поддържа check box в колона.
2. Добавяш едно calculated поле към таблицата - и докато тя е отворена можеш да си го сетваш без проблемно ;-)))) - и да го четеш - така можеш да се разхождаш по таблицата и да ползваш полето за маркер на записа.

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

---
Отговор
в отговор на PhantomAS #4

DBGrid.SelectedRows.CurrentRowSelected

Защо ми се струва, че най-накрая те хванах в грешка Явно и модератора е човек.
Вече съм на windows-а и проверих. Пропъртито е наистина CurrentRowSelected, само че не е на грида, а на SelectedRows. И поне при мене не е ReadOnly

property CurrentRowSelected: Boolean read GetCurrentRowSelected write SetCurrentRowSelected;

Май имах предиството да се огледам из клуба след като съм си изпил кафето

Отговор
в отговор на andrew_nikoloff #5

Май на някой кафето....

му е дошло в повече или май в по-малко

1. Не видам в какво съм сгрешил - SelectedRows си е read only - това, че можеш да адваш нови неща в селекцията - казах че не знам. Общо взето съм разочарован от начин по който се добавят - ама това е друг въпрос.

2. В контекста на една друга тема -ако говорим за дизайн - не мислиш ли че моята идея е по - чиста и като реализация - и като начин на работа и най-вече можеш да си инициализираш данните без да ти се налага да си показал/създал грид-а. Вярно, ако на човека му трябва точно това - е друг въпрос. Още повече ако имаш достатъчно редове в грид-а - познай ако трябва клиента да ги цели един по един и да държи в това време Ctrl-а и случайно го изтърве - пак от начало ;-)))) - този начин на селекция обикновено води при мен до Ctrl+A , Delete - за да не се занимавам с простотиии от сорта на 100+обекта на място което позволява да се видят само 5.

Айде със здраве и внимавай с кафето ;-))))

---
Отговор
в отговор на PhantomAS #6

Може да е било от....

конячето в кафето
Подвел ме е фактът, че SelectedRows е обект и не мислех, че имаш предвид него, а по-скоро нещо от сорта на SelectedRow (т.е. един вид объркано в съзнанието ми CurrentRowSelected :)))
Да, малко е неудобно, че не можеш да (от)маркираш друг запис, освен текущия (е, или всички разбира се), ама се преживява...
А по въпроса за дизайна... Да съгласен съм с теб. Аз също използвам checkbox-ове в някоя колонка (работя изключително с DBGridEh, а той има много глезотийки в това отношение), но си правя fkData поле. Не мислех, че с fkCalculated ще стане. Зависи от ситуацията. Когато трябва да се скролират сума редове за да се маркират няколко из целия грид - да, не е удобно с маркиране на редове, но все пак човека започна темата - затова и за редовете говорим. Обаче ако има по-малко редове (особено ако се съборат всичките на екрана), трябва да се маркират няколко близки - е, не е толкова неудобно. Особено ако си добавиш малко код на OnClick и си (от)маркираш текущият ред. Така не се налага да се държи Ctrl, а и поне EhGrid-а не си отмаркира редовете при разхождане нагоре-надолу...

Имаше там едно време 10 условия от сорта на "какво ви е необходимо за да си отгледате програмист в къщи"... Не ги помня, ама първото беше "чашка за кафе с обем поне 0.5 литра" :)

Отговор
в отговор на andrew_nikoloff #7

ха вярно е...

за чашката добре...
.. но бих допълнил: "и по едно 4увалче кафе всеки ден" :)

Светът е малък нека си помагаме.
Отговор
в отговор на andrew_nikoloff #8

Re: Може да е било от....

От къде мога да го взема този DBGridEh? Или е платен???

Отговор
в отговор на VladoVasilev #9

Re: Може да е било от....

[линк]

Платен е.... ама за тези, които пишат на кирилица не е съвсем платен.

----------
По склона към връх Фудзи плахо пълзи охлюв към самото небе.
Отговор
в отговор на Vapi #10

Re: Може да е било от....

Може би въпроса е за клуб "Полиглоти", но някой случайно да знае как се пише февруари на руски, че явно руския ми е зле?!

Отговор
в отговор на Ляпчo #11

Re: Може да е било от....

ФЕВРАЛЬФЕВРАЛЬ

Эта лицензия действительна только для граждан
стран бывшего СССР и организаций, зарегистрированных
на территории стран бывшего СССР.

Отговор
в отговор на NDeu #12

Re: Може да е било от....

Мерси, мерси!
Туй некъв падеж ще да е .... аз със ФЕВРАЛЯ се мъчих.

Отговор
в отговор на VladoVasilev #13

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();

Отговор