Db Grid
(база Paradox)
Цитата:
Originally posted by sytec
Как мне сделать так чтобы в зависимости от значения в данной ячейке (int) в этой же выдавался бы текст ? ( без SQL)
(база Paradox)
Как мне сделать так чтобы в зависимости от значения в данной ячейке (int) в этой же выдавался бы текст ? ( без SQL)
(база Paradox)
Ответ на этот вопрос несколькими пунктами выше. Делаешь в таблице новое поле в Fields Editor-е. Вид поля - calculated. В событии OnCalculateField пишешь(например):
switch(Table1IntegerField.AsInteger ){
case 1: Table1MyField.AsString=string1;break;
case2: Table1MyField.AsString=string2;break;
default:Table1MyField.AsString=string3;
}
искомое поле - FieldInt
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
AnsiString Str;
if(TABLE->FieldByName("FieldInt")->AsInteger==1) Str="one";
else Str="no one";
if(Column->FieldName=="FieldInt")
{DBGrid1->Canvas->FillRect(Rect);
DBGrid1->Canvas->TextOut(Rect.Right-2-DBGrid1->Canvas->TextWidth(Str),Rect.Top+2,Str);
}
}