Cum să setați programatic cursorul la sfârșitul slash-ului de stivă de coarde în limba rusă

După părerea mea, inventați o bicicletă. Când introduceți caractere în textul casetei combo, combobox-ul însuși înlocuiește cea mai asemănătoare valoare din text pentru cele care se află în obiectele sale. Dacă CBox'e prea multe siruri de caractere, cel mai bine este să le împartă în subgrupuri și pentru a plasa alături de un alt Cbox, în care selectați un grup, și setați rândurile selectate în a doua CBox'e. - teanЫЧ 24 Oct 12 la 8:31 am







La mine nu este atât de simplu: la alegerea valorii într-un DBGrid se recalculează. Utilizatorul poate să aleagă (sau să introducă caractere), apoi să-și schimbe mintea și să încerce altă opțiune. Dacă a introdus litere, ar putea dori să selecteze din listă și ar trebui să existe valori reale. Prin urmare, recompensez caseta combo de fiecare dată când selectez sau introdu caracterele. - leklerk Oct 24 '12 la 8:40 am

Intrarea liberă este acceptabilă, adică a căror introducere de date nu se află în baza de date? În acest caz, lista drop-down are funcțiile unui promotor normal, iar răspunsul este dat în general.

Este permis să intre numai datele care se află în baza de date (această regulă de integritate și PB nu contradictorii), în acest caz, sub-întrebări - cât de multe intrări din lista drop-down? Dacă este o mulțime, atunci este mai bine să le grupați și, după cum sa sugerat, alegeți mai întâi un grup și apoi din lista dvs. Dacă nu există multe valori, puteți expedia direct în lista derulantă. Întrebarea este ce să folosiți TDBLookupComboBox. TDBComboBox sau încărcarea într-un TComboBox normal este o chestiune de religie, alegerea funcționalității optime și comoditatea dezvoltării. În mod obișnuit, dacă există o cerință de a utiliza numai valori valide, atunci proprietatea Style este setată la csDropDownList. eliminând astfel posibilitatea utilizatorului să introducă ceva interzis, prin urmare, valorile de intrare sunt posibile, dar vor fi efectuate în mod automat toate Elementele de căutare și substituie coincidență utilizatorul (oferit).







Deci, trebuie să decidem ce să folosim. Prefer preferatul TComboBox. Este convenabil. Șirurile (partea vizibilă a elementelor) navei nume „umane“ o cheie (sper că aveți în conceptele de bază de date de chei și au tendința la număr întreg ..) navei sau în proprietate de etichete, dar nu este întotdeauna convenabil, de exemplu, în cazul în rolul valoare șir sau tasta nu este un scalar (de exemplu, câteva valori dorim să păstrăm pentru această intrare), face structura (în termeni de Pascal - înregistrare) și va fi livrat în datele au o metodă - cea a oricărei „combo box» - AddObject. De exemplu, procedura de lucru:

unde boxGroup și boxMat - TComboBox. În același timp, vedem că mai întâi sunt încărcate grupurile, apoi materialele. și, la schimbarea grupului:

Grupul curent (selectat) este afișat în LbGroup și, de asemenea, este trecut ca parametru pentru a popula lista. funcția LoadListMat are un parametru implicit.

TS implementează filtrul de date, posibil în mai multe câmpuri, cu funcția de completare automată. Datele din elementele combobox sunt rândurile posibile care corespund oricăror valori sau unor părți ale valorii pentru filtru. Valoarea suplimentară introdusă sau selectată (inclusiv nu este complet inserată) este înlocuită în filtru cu similar. Și problema nu este în umplerea cutiei combo sau a mai multor, dar în comportamentul cutiei de combo când se curăță elementele - cursorul din câmpul de intrare scade la începutul liniei. Dacă reîncărcați lista Elemente în schimbare și încercați să introduceți "12345", atunci fără mișcarea cursorului manual se va afișa "54321". - Yura Ivanov 26 Oct 12 la 12:43

stells2, mulțumesc, dar am o poveste puțin diferită, așa cum a observat corect Yura Ivanov :) - leklerk Oct 27 '12 la 5:54 am







Trimiteți-le prietenilor: