الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

TreeView من قاعدة بيانات

بدأه ibukhari في 23 يوليو 2010 · 3 رد · 785 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ,

أخواني الكرام عندي قاعدة بيانات إكسل تحتوي على جدول يوجد خانة بهاذا الجدول لترتيب المعلومات مثلأ

الخزانة الرف الملف ترتيب الملف

1 1 1 1/1/1

1 2 1 1/2/1

2 1 2 2/1/2

سؤالي كيف يمكن وضع هذه المعلومات داخل TreeView بحيث يقوم بوضع الخانة الأولى ثم ما تحتوي عليه وهاكذا

أرجوكم المساعدة انا في أمس الحاجة لها شكراً لكم

#2

جرب هذا الكود

ربما هناك حلول افضل ...

uses comobj,excel97,excel2000;
...
procedure ExcelToTreeView(EXLfile:string;treeView:TTreeView);
var
  sheet,XLApp,workbook : variant;
  iRow,iCol,maxRow,maxCol:integer;
  MyTreeNode1: TTreeNode;
  root:boolean;
begin
  screen.Cursor:=crHourGlass;
  try
    XLApp:=createOleObject('Excel.Application');
    XLApp.displayAlerts:=false;
    XLApp.ScreenUpdating:=false;
    XLApp.WorkBooks.Add(EXLfile);
    workbook := XLApp.workbooks[1];
    sheet:=workbook.worksheets[1];

    XLApp.ActiveCell.SpecialCells(xlLastCell).Select;
    maxRow:=XLApp.ActiveCell.Row;
    maxCol:=XLApp.ActiveCell.Column ;

    for iRow:=1 to MaxRow do
    begin
      root:=true;
     for iCol:=1 to maxCol do
     begin
        if(sheet.cells[iRow,iCol].text<>'')then
        with treeview.Items do
        begin
             if root then
             begin
                MyTreeNode1:=nil;
                MyTreeNode1 := Add(MyTreeNode1, sheet.cells[iRow,iCol]);
                root :=not root;
             end
             else
             begin
                AddChild(MyTreeNode1,sheet.cells[iRow,iCol]);
             end;
        end;
     end;
    end;
  finally
    if not VarIsEmpty(XLApp) then begin
      XLApp.displayAlerts:=false;
      XLApp.ScreenUpdating:=true;
      XLApp.quit;
    end;
    screen.Cursor:=crDefault;
  end;
end;

بالنسبة لدعم لليونيكود فهذا شئ راجع لك (إستخدم TreeView تدعم ذلك ) ...

سبب التعديل:

 from procedure ExcelToTreeView(EXLfile:string); to procedure ExcelToTreeView(EXLfile:string;treeView:TTreeView);

تم تعديل هذه المشاركة بواسطة YaSeenTA في 24 يوليو 2010 في 06:08

#3

اخي الكريم أشكرك على سرعة الرد

ولكن للأسف لقد قمت بكتابة سؤالي بالخطئ فأنا أقصد اكسيس وليس إكسل أرجوا المساعدة

مشكور مرة أخرى

#4
ibukhari كتب:

اخي الكريم أشكرك على سرعة الرد

ولكن للأسف لقد قمت بكتابة سؤالي بالخطئ فأنا أقصد اكسيس وليس إكسل أرجوا المساعدة

مشكور مرة أخرى

الكود في ردي فيه خطأ في وضع الـ nodes في الـ tree ..

جرب المثال A TreeView of Data

بإمكانك تغييره بما يتناسب مع ما تريد

مواضيع مشابهة