إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيف تحذف الخانات الفارغة في grid او ListBox

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • كيف تحذف الخانات الفارغة في grid او ListBox


    كيف تحذف الخانات الفارغة في grid او ListBox

    حاولت من خلال هذا الكود

    كود PHP:
    for i=1Grid.GetRowCount("Grid1")+do
    if 
    Grid.GetCellText("Grid1"i1) == "" then
    Grid
    .DeleteRow("Grid1"itrue);
    end
    end 


    لكن بيقى سطر فارغ لم يحذف

    هل فيه افكار يا سيادة يا كرام ؟

  • #2
    إستعمل أمر تحديث الجايد وهو :

    كود:
    Grid.SetRedraw("Grid1", true, true);

    إستعمل أمر تحديث الليست بوكس وهو :

    كود:
    ListBox.SetUpdate("ListBox1", true);

    بعد كل عملية

    تعليق


    • #3
      المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
      إستعمل أمر تحديث الجايد وهو :

      كود:
      Grid.SetRedraw("Grid1", true, true);

      إستعمل أمر تحديث الليست بوكس وهو :

      كود:
      ListBox.SetUpdate("ListBox1", true);

      بعد كل عملية
      شكرا استاذ عبود
      لكن للاسف لم تنجح معي ........ انا استدعي معطيات من ملفini وبحكم شرط يبقى في grid خانات فارغة اي رقمها في الملف لا تناسبب الشرط
      فاضططرت لتفريغ grid بالكود السابق

      تعليق


      • #4
        صورة من زر استدعاء البيانات من ملف ini

        كود PHP:

        local tblsec 
        =  INIFile.GetSectionNames("AutoPlay\\Docs\\1.ini");
          if 
        tblsec  then

        for c  in pairs(tblsec) do
        ff INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "classe");
        num INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "numero");
        nom INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "nom");
        date INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "date_naisasance");
        grad INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "mis_scout");
        stage INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "tahil");
        sta INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_tahil");
        fo INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "foj");
        mbl INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "mobil");
        mis INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_mis");
        niv INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "niveau");
        an INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "annee");
        ni INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_niveau");
        soc INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "social");
        sc INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_social");
        comun INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "commun");
        commun INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_commun");
        metier INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "metier");
        mihna INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_metier");
        email INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "email");
        assu INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "n_assurance");
        insc INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "an_inscription");
        sang INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "g-sang");
        fonct INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "f_fonction");
        remm INIFile.GetValue("AutoPlay\\Docs\\1.ini"tblsec[c], "rem");
         
         if 
        ff=="1" then
        Grid
        .SetCellText("Grid1"c+11nomtrue);
        Grid.SetCellText("Grid1"c+12datetrue);
        Grid.SetCellText("Grid1"c+13communtrue);
        Grid.SetCellText("Grid1"c+14gradtrue);
        Grid.SetCellText("Grid1"c+15stagetrue);
        Grid.SetCellText("Grid1"c+16mbltrue);
        Grid.SetCellText("Grid1"c+17nitrue);
        Grid.SetCellText("Grid1"c+18soctrue);
        Grid.SetCellText("Grid1"c+19metiertrue);
        Grid.SetCellText("Grid1"c+110emailtrue);
        Grid.SetCellText("Grid1"c+111assutrue);
        Grid.SetCellText("Grid1"c+112sangtrue);
        result ListBox.AddItem("ListBox1"nomtblsec[c]);
        ListBox.SetUpdate("ListBox1"true); 
        end
        end
        end

        Grid
        .SetRedraw("Grid1"truetrue); 

        هذا الشرط ( if ff=="1" then ) هو ما يسبب الخانات الفارغة

        تعليق


        • #5
          أستغرب من هذا السطر :

          كود:
          for c  in pairs(tblsec) do
          هل هكذا يكون صحيح ؟

          أين المفتاح وأين القيمة هل c مفتاح أم قيمة ؟ هل يجوز ذلك ؟

          الصحيح أن يكون هناك مفتاح وقيمة فى أمر التكرار لأخذ رقم للتكرار وقيمة معلومات طبعا طالما تستخدم pairs


          كود:
          for i,d in pairs(result) do


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

          تعليق


          • #6
            المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
            هل c مفتاح أم قيمة ؟
            c مفتاح

            المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
            هل يجوز ذلك ؟
            نعم يجوز

            كود PHP:
            tbl = {"a","b","c","d"}

            for 
            c  in pairs(tbl) do
            Dialog.Message("Notice"c.."   val= "..tbl[c], MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1);
            end 

            تعليق


            • #7
              المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
              c مفتاح

              نعم يجوز
              كود PHP:
              tbl = {"a","b","c","d"}

              for 
              c  in pairs(tbl) do
              dialog.message("notice"c.."   val= "..tbl[c], mb_okmb_iconinformationmb_defbutton1);
              end 
              السلام عليكم
              ما كنت لاجيب كما اجبت استاذ
              شكرا لك و للشيخ عبود

              تعليق


              • #8
                هذا الملف الذي اعمل عليه
                استعملت فيه الكودين معا و دائما فيه مشكل

                http://www.mediafire.com/download/2i...s/to+excel.apz

                تعليق


                • #9
                  الكود خاصتك لا يعمل بشكل صحيح
                  كود PHP:
                  for i=1Grid.GetRowCount("Grid1")+do
                  if 
                  Grid.GetCellText("Grid1"i1) == "" then
                  Grid
                  .DeleteRow("Grid1"itrue);
                  end
                  end 
                  إستبدل i ب 1 ليعمل بشكل صحيح كالتالى

                  كود PHP:
                  for i=1Grid.GetRowCount("Grid1")+do
                  if 
                  Grid.GetCellText("Grid1"11) == "" then
                  Grid
                  .DeleteRow("Grid1"1true);
                  end
                  end 
                  بالتوفيق

                  تعليق


                  • #10
                    موفق بإذن الله ... لك مني أجمل تحية .

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                      الكود خاصتك لا يعمل بشكل صحيح
                      كود PHP:
                      for i=1Grid.GetRowCount("Grid1")+do
                      if 
                      Grid.GetCellText("Grid1"i1) == "" then
                      Grid
                      .DeleteRow("Grid1"itrue);
                      end
                      end 
                      إستبدل i ب 1 ليعمل بشكل صحيح كالتالى

                      كود PHP:
                      for i=1Grid.GetRowCount("Grid1")+do
                      if 
                      Grid.GetCellText("Grid1"11) == "" then
                      Grid
                      .DeleteRow("Grid1"1true);
                      end
                      end 
                      بالتوفيق

                      للاسف لا يعمل لانه متعلق فقط بالخانة الاولى

                      انتظر استاذنا الكريم

                      تعليق


                      • #12
                        خالص اعتذاراتى
                        تجاهل مشاركتى السابقة
                        كود PHP:
                        for i=1Grid.GetRowCount("Grid1")+do
                           for 
                        i=1Grid.GetRowCount("Grid1")+do
                              if 
                        Grid.GetCellText("Grid1"i1) == "" then
                              Grid
                        .DeleteRow("Grid1"itrue);
                              
                        end
                           end  
                        end 
                        قد لا يكون الحل الأمثل
                        لكنه فعال جدا و مناسب لإستفسارك
                        بالتوفيق

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                          خالص اعتذاراتى
                          تجاهل مشاركتى السابقة
                          كود PHP:
                          for i=1Grid.GetRowCount("Grid1")+do
                             for 
                          i=1Grid.GetRowCount("Grid1")+do
                                if 
                          Grid.GetCellText("Grid1"i1) == "" then
                                Grid
                          .DeleteRow("Grid1"itrue);
                                
                          end
                             end  
                          end 
                          قد لا يكون الحل الأمثل
                          لكنه فعال جدا و مناسب لإستفسارك
                          بالتوفيق
                          روووووووووووو عة استاذنا الكريم ......................

                          لكم من باب الطمع في كرمكم ..........هل لي بتفسير لماذا الكود الاول ترك سطرا ؟ و عندما اضفت دالة for مرتين كل شيء تمام ؟؟

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
                            روووووووووووو عة استاذنا الكريم ......................

                            لكم من باب الطمع في كرمكم ..........هل لي بتفسير لماذا الكود الاول ترك سطرا ؟ و عندما اضفت دالة for مرتين كل شيء تمام ؟؟
                            لا بأس
                            ما ستقرأه الآن لن تجده حتى فى موقع الشركة المنتجه
                            فحاول ان تفهمنى من المرة الأولى

                            الكود الخاص بك لا يترك سطرا خاليا
                            بل يترك نصف عدد الأسطر الفارغة دائما (إبدأ بجريد خالى تماما و ستفهمنى أسرع)

                            تأمل الكود خاصتك
                            كل المعطيات تؤكد أنه صحيح
                            كود PHP:
                            for i=1Grid.GetRowCount("Grid1")+do
                                  if 
                            Grid.GetCellText("Grid1"i1) == "" then
                                  Grid
                            .DeleteRow("Grid1"itrue);
                                  
                            end
                               end 
                            لماذا فشل عمليا برغم صحته نظريا ؟؟؟
                            ببساطة شديدة هذا يسمى BUG فى الأوتوبلاى

                            كيف ؟؟
                            لنفرض ان عدد عناصر الجريد = 10

                            هل بعد حذفك لأحد العناصر ستظل كما هى 10 ؟؟ كلا و بالتأكيد ستصبح 9 عناصر فقط
                            سيتعامل الكود الخاص بك (الصحيح 100 % نظريا) على انهم لا زالوا 10 عناصر طوال عمل الحلقة
                            و سيطلب الكود حذف العنصر الثانى بينما الجريد لم يتبقى به الا عنصر واحد
                            يفشل الكود grid operation failed

                            خطأ يستلزم تدخل الشركة المنتجة للأوتوبلاى لمعالجة ال BUG
                            التى سترد حتما بال bla bla bla و لن تحل المشكل و قد تحذف عضويتك

                            بعد تركيب الحلقتين
                            نضمن العدد الصحيح و الترقيم الصحيح لعناصر الجريد بعد الحذف و قبل الشروع بالدورة التالية

                            أعتذر للإطالة
                            بالتوفيق

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة المـهاجر مشاهدة المشاركة
                              لا بأس
                              ما ستقرأه الآن لن تجده حتى فى موقع الشركة المنتجه
                              فحاول ان تفهمنى من المرة الأولى

                              الكود الخاص بك لا يترك سطرا خاليا
                              بل يترك نصف عدد الأسطر الفارغة دائما (إبدأ بجريد خالى تماما و ستفهمنى أسرع)

                              تأمل الكود خاصتك
                              كل المعطيات تؤكد أنه صحيح
                              كود PHP:
                              for i=1Grid.GetRowCount("Grid1")+do
                                    if 
                              Grid.GetCellText("Grid1"i1) == "" then
                                    Grid
                              .DeleteRow("Grid1"itrue);
                                    
                              end
                                 end 
                              لماذا فشل عمليا برغم صحته نظريا ؟؟؟
                              ببساطة شديدة هذا يسمى BUG فى الأوتوبلاى

                              كيف ؟؟
                              لنفرض ان عدد عناصر الجريد = 10

                              هل بعد حذفك لأحد العناصر ستظل كما هى 10 ؟؟ كلا و بالتأكيد ستصبح 9 عناصر فقط
                              سيتعامل الكود الخاص بك (الصحيح 100 % نظريا) على انهم لا زالوا 10 عناصر طوال عمل الحلقة
                              و سيطلب الكود حذف العنصر الثانى بينما الجريد لم يتبقى به الا عنصر واحد
                              يفشل الكود grid operation failed

                              خطأ يستلزم تدخل الشركة المنتجة للأوتوبلاى لمعالجة ال BUG
                              التى سترد حتما بال bla bla bla و لن تحل المشكل و قد تحذف عضويتك

                              بعد تركيب الحلقتين
                              نضمن العدد الصحيح و الترقيم الصحيح لعناصر الجريد بعد الحذف و قبل الشروع بالدورة التالية

                              أعتذر للإطالة
                              بالتوفيق
                              طيب جدا ........ربي يحفظكم ........... قد لا اكون ضليها و لا فهيما في البرمجة لكن الشرح واضح و بين جدا
                              استفيد منه مستقبلا ان شاء الله
                              ربي ينصرك استاذ

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                              يعمل...
                              X