MaxLength w StringGridzie

0

Nigdy na to nie zwracałem uwagi ale teraz jest to mi potrzebne. Jest jakieś ograniczenie co do ilości znaków w komórce i w całym StrinGridzie? Czegoś jak MaxLength nie widzę w Proporties

0

Nio raczej nie ma czegoś takiego - trzeba po prostu samemu zadbać o to żeby użytkownik nie wpisał większej ilości znaków
np tak
w procedurze onKeyPress dla StringGrida wpisać
if (length(StringGrid1.Cells[1,1])>=5) then //do komórki 1,1 można będzie wpisać max 5 znaków
Key:=#0;
Oczywiście pasowałoby dorobić sprawdzanie która komórka Stringrida jest poddawana edycji

0

Z ograniczeniem liczby wpisywanych przez użytkownika znaków nie mam problemu, tylko obawiam się czy nie będzie jakiegoś błędu po przekroczeniu jakiegoś maxa

0

NIe będzie problemu, tyle że po przekroczeniu długości nie będzie można dać backspace. trzeba wykrywać różne klawisze i odpowiednio reagować

0

Dzięki :)

0

Możesz wykorzystać event StringGrid.OnSetEditText.

np:

if Length(Value) > JakieśTamMax then
StringGrid1.Cells[ACol, ARow] := Copy(Value, 1, JakieśTamMax);

1 użytkowników online, w tym zalogowanych: 0, gości: 1