الضبط التلقائى لحجم أعمدة FlexGrid

اذهب الى الأسفل

الضبط التلقائى لحجم أعمدة FlexGrid Empty الضبط التلقائى لحجم أعمدة FlexGrid

مُساهمة من طرف السنى في الجمعة نوفمبر 02, 2018 12:44 pm

الضبط التلقائى لحجم أعمدة FlexGrid Ajustar-columna-microsoft-flexgrid

الطريقة التالية تقوم بضبط حجم اعمدة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تلقائيا عند وجود نص اكبر فى احد خلايا العامود ....مبدء عمل الطريقة يتم اجتياز صفوف وأعمدة Flex في حلقتين تكرارتين ويتم تخزين أكبر عرض لكل عمود في متغير

ثم في نهاية كل شيء يمر عبر كافة الحقول ويتم تعيينه بواسطة الخاصية ColWidth من FlexGrid ، عرض كل رأس

شفرة الطريقة عىل النحو التالى :

الكود:
Private Sub Ajustar_Columnas(FlexGrid As MSHFlexGrid)
                              
On Local Error GoTo ErrSub
                              
  
    Dim Columna As Integer, Fila As Long
  
  
    Dim Ancho_Columna() As Single
    Dim Col_Width As Single
          
    
    ReDim Ancho_Columna(0 To FlexGrid.Cols - 1)
      
  
    For Columna = 0 To FlexGrid.Cols - 1
    Ancho_Columna(Columna) = TextWidth(FlexGrid.TextMatrix(0, Columna))
    Next Columna
      
    
    For Fila = 1 To FlexGrid.Rows - 1
                    
        For Columna = 0 To FlexGrid.Cols - 1
                            
            Col_Width = TextWidth(FlexGrid.TextMatrix(Fila, Columna))
              
               If Ancho_Columna(Columna) < Col_Width Then
               Ancho_Columna(Columna) = Col_Width
            End If
        Next
    Next
  
            
    For Columna = 0 To FlexGrid.Cols - 1
        FlexGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 240
    Next
  
Exit Sub
  
ErrSub:
      
    MsgBox Err.Description, vbCritical
    FlexGrid.Redraw = True
  
End Sub



ويتم استخدام الطريقة على النحو التالى :

الكود:
 Call Ajustar_Columnas(MSHFlexGrid1)  
السنى
السنى
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 220
النقاط : 411
التقيم : 23
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى