11-11-2011, 04:21 PM
شكرا جزيلا على مساعدتك أخي hanipino هذا بالضبط ما أبحث عنه ..
و قد ذكرت بأنني حاولت بال between في sql أضن بأن طريقة محاولتي كانت واضحة و لم يكن داعي لذكرها .
و أحب أن أنوه أيضا إن سمحت لي بأنه في الكود الذي كتبته ينقص شيء صغير فقط و هو
يجب كتابة math في uses حتى لا تظهر أي رسالة خطأ ويكون الكود كاملا و الكمال لله .
عدا هذا لك جزيل الشكر و أدعوا الله أن يجعله في ميزان حسناتك .
و لدي محاولة أيضا ليست جيدة بقدر طريقتك لكن سأذكرها لربما احتاج لها شخص آخر :
و هي استعمال JvDBGrid بدلا من dbgrid و ذلك لتفعيل خاصية multiselect = true
وهذه الخاصية تسمح بتحديد العديد من الأسطر بإستعمال shift أو ctrl مع زر الماوس الأيسر
ثم كتابة الكود التالي في button أو لمن يريد وضعه في CellClick عليه القيام ببعض التعديلات
تم تظهر النتيجة في edit و الكود كالتالي :
و قد ذكرت بأنني حاولت بال between في sql أضن بأن طريقة محاولتي كانت واضحة و لم يكن داعي لذكرها .
و أحب أن أنوه أيضا إن سمحت لي بأنه في الكود الذي كتبته ينقص شيء صغير فقط و هو
يجب كتابة math في uses حتى لا تظهر أي رسالة خطأ ويكون الكود كاملا و الكمال لله .
عدا هذا لك جزيل الشكر و أدعوا الله أن يجعله في ميزان حسناتك .
و لدي محاولة أيضا ليست جيدة بقدر طريقتك لكن سأذكرها لربما احتاج لها شخص آخر :
و هي استعمال JvDBGrid بدلا من dbgrid و ذلك لتفعيل خاصية multiselect = true
وهذه الخاصية تسمح بتحديد العديد من الأسطر بإستعمال shift أو ctrl مع زر الماوس الأيسر
ثم كتابة الكود التالي في button أو لمن يريد وضعه في CellClick عليه القيام ببعض التعديلات
تم تظهر النتيجة في edit و الكود كالتالي :
كود :
var
i: Integer;
sum : Single;
begin
if jvDBGrid1.SelectedRows.Count > 0 then
begin
sum := 0;
with jvDBGrid1.DataSource.DataSet do
begin
for i := 0 to jvDBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(Pointer(jvDBGrid1.SelectedRows.Items[i]));
sum:=sum+table1.FieldByName('total').AsFloat;
end;
end;
edit1.Text := FloatToStr(sum);
end
end;
