Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

datagrid autosize column

Konu, 'Visual Basic' kısmında unixcem tarafından paylaşıldı.

  1. unixcem

    unixcem Yeni Üye

    Kayıt:
    8 Temmuz 2004
    Mesajlar:
    16
    Beğenilen Mesajlar:
    0
    datagrid alanındaki öğe içiriğine göre sütünları nasıl genişletip daralta bilirim

    --- Ekleme ---

    Ümidi kesmişken googleda anahtar kelimelerle oynayarak buldum

    Kod:
    Private Sub ResizeColumns()
        Dim iColCount As Integer
        Dim snWidths() As Single
        Dim snTemp As Single
        Dim strText As String
        Const iPADDING As Integer = 120
        
        'assumes that data1 is your datasource for the datagrid
        With Me.Adodc1.Recordset
            'redim the array
            ReDim snWidths(.Fields.Count - 1)
            
            'loop through the recordest
            Do Until .EOF
                'iterate through your columns
                For iColCount = 0 To .Fields.Count - 1
                    'reset the temp variable
                    snTemp = 0
                    
                    'get the data from the recordset
                    If IsNull(.Fields(iColCount)) Then
                        strText = vbNullString
                    Else
                        strText = CStr(.Fields(iColCount))
                    End If
                    
                    'test the width
                    snTemp = TextWidth(strText)
                    'if it's wider then add it to our array
                    If snTemp > snWidths(iColCount) Then
                        snWidths(iColCount) = snTemp
                    End If
                Next iColCount
                .MoveNext
            Loop
            .MoveFirst
        End With
        
        'now set the column widths
        With Me.DataGrid1
            For iColCount = 0 To UBound(snWidths)
                .Columns(iColCount).Width = snWidths(iColCount) + iPADDING
            Next iColCount
        End With
     
    End Sub