PDA

View Full Version : فیلد های ازنوع fkCalculated



SYNDROME
سه شنبه 28 فروردین 1386, 15:19 عصر
با سلام
من می خواهم یک فیلد از نوعCalculat درست کنم که شماره خط Grid من را نشان بدهد.
نام ّفیلد Row است.
FieldKind آم از نوع fkCalculated می باشد.
در قسمت محاسباتی آن کد زیر را نوشته ام.

procedure TDM_Accountancy.ADO_TempDocumentAccountingCalcFiel ds(
DataSet: TDataSet);
begin
IF (DataSet.RecNo > 0) Then
DataSet.FieldByName('Row').AsInteger := DataSet.RecNo
Else
DataSet.FieldByName('Row').AsInteger := 1;
end;


حالا زمانی که ما مستقیما به سطر آخر می رویم سطر آخر مقد ار 1دارد که اشتباه است و
در زمانی که روی Grid حرکت می کنیم و سطر جدیدی ایجاد می کنیم باز هم مقدار 1 است.
لطفا اگر روش من غلط است بگویید و یا اگر روش بهتری سراغ دارید پیسنهاد بدهید.

soroush_vs
سه شنبه 28 فروردین 1386, 15:24 عصر
فقط بنویس
DataSet.Fieldbyname('row').asInteger:=DataSet.Recn o

SYNDROME
سه شنبه 28 فروردین 1386, 15:37 عصر
با سلام
با تشگر از دوست عزیز که که به ما لطف دارد.
روش دیگری که اشاره شده بود (اسم دوستمان یادم نیست)


procedure TDM_Accountancy.ADO_TempDocumentAccountingRowGetTe xt(
Sender: TField; var Text: String; DisplayText: Boolean);
begin
Text := inttostr(ADO_TempDocumentAccounting.RecNo)
end;

که خوب جواب داد.
در جستجوی اول پیدا نکردم ولی نحوه جستجو را که تغییر دادم جواب گرفتم(شرمنده از اینکه تاپیک تکراری ایجاد کرد):خجالت: