تخزين قيم الخلايا لعمود في مصفوفة
#1
السلام عليكم ورحمة الله وبركاته

كيف يمكن جلب قيم الخلايا في عمود معين من ال DBGrid ووضعها في مصفوفة ؟؟؟
شئ مشابه لـ StringGrid1.Cells[2,i]
الرد
#2
وعليكم السلام ورحمة الله وبركاته
====================
يمكنك فعل ذلك بطريقتين
1 - من DBGrid
for i:=1 to table.RecordCount do
begin
table.RecNo:=i;
a[i]:=DBGrid1.Columns.Items[رقم العمود].Field.Value;
end;
علما أن رقم العمود يبدأ من 0


والطريقة الثانية من الجدول ذاته
for i:=1 to table.RecordCount do
begin
table.RecNo:=i;
a[i]:=table.FieldByName('اسم العمود').Value;
end;
الرد
#3
السلام عليكم ورحمة الله وبركاته

شكرا على الرد ... لكن ما أبحث عنه هو جلب القيم مع بقاء المؤشر في مكانه على السجل الحالي.
الرد
#4
وعليكم السلام
============
يمكنك الاحتفاظ برقم السطر الحالي ثم اعادته حيث كان

كود :
n:=table.RecNo; for i:=1 to table.RecordCount do begin table.RecNo:=i; a[i]:=DBGrid1.Columns.Items[رقم العمود].Field.Value; end; table.RecNo:=n;

أو يمكنك فعل ذلك بطريقة اخرى وهي طريقة انشاء المكونات الديناميكية
بفرض انك تستخدم قواعد البيانات Paradox فالطريقة كالتالي:
بفرض ان الجدول الاصلي هو table
كود :
var i:integer; newtab:TTable; begin newtab:=TTable.Create(Self); newtab.DatabaseName:=table.DatabaseName; newtab.TableName:=table.TableName; newtab.open; for i:=1 to newtab.RecordCount do begin newtab.RecNo:=i; a[i]:=newtab.FieldByName('اسم العمود').Value; end; end;
الرد
#5
السلام عليكم ورحمة الله وبركاته

شكرا جزيلا ،،، وجدت الحل باستخدام Virtual Table
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم