Link to home
Start Free TrialLog in
Avatar of Robbals
Robbals

asked on

Resize columns in datagrid

Hi experts,

having difficulty in resizing the columns in a datagrid....working on a project for a CE device. Created a datagrid from a string (lines from file), but am unable to resize these columns...can't find the right thing on internet....everybody is talking about mapping to a dataset....

my code:

Public Class FrmBestellingen
    Public fi As FileInfo
    Public filenaam As String
    Public Cart As New Data.DataTable
    Public dr As Data.DataRow
    Public teller As Integer


    Private Sub FrmBestellingen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Files() As String = Directory.GetFiles(Settings.DataPath)
        For Each FileName As String In Files
               fi = New FileInfo(FileName)
            If fi.Name.ToUpper().StartsWith("P") = True Then
                'ignore
            ElseIf fi.Name.ToUpper().StartsWith("DAG") = True Then
                'ignore
            Else
                filenaam = fi.ToString
                filenaam = filenaam.Substring(11, 14)
                ListBox1.Items.Add(filenaam)
            End If
        Next FileName

        Cart.Columns.Add(New Data.DataColumn("Verteg.", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("EffekLev", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Klant", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn(" Datum  ", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("KollDatum", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Artikel", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Aantal", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Prijs", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Omschrijving", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Etiket", GetType(String)))
        Cart.Columns.Add(New Data.DataColumn("Info", GetType(String)))
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim lntekst As String = ""
        Dim inhoudfile As String = ""
        Cart.Rows.Clear()
        teller = -1
        filenaam = ListBox1.SelectedItem.ToString

        Using sr As New System.IO.StreamReader(Settings.DataPath & filenaam & ".txt")
            While lntekst IsNot Nothing
                lntekst = sr.ReadLine()
                If lntekst Is Nothing Or lntekst = "" Then Exit While
                teller += 1
                dr = Cart.NewRow()
                dr(0) = lntekst.Substring(0, 2)
                dr(1) = lntekst.Substring(2, 4)
                dr(2) = lntekst.Substring(6, 7)
                dr(3) = lntekst.Substring(13, 8)
                dr(4) = lntekst.Substring(21, 8)
                dr(5) = lntekst.Substring(29, 6)
                dr(6) = lntekst.Substring(35, 5)
                dr(7) = lntekst.Substring(40, 8)
                dr(8) = lntekst.Substring(48, 25)
                dr(9) = lntekst.Substring(73, 1)
                dr(10) = lntekst.Substring(74, 25)
                Cart.Rows.Add(dr)
                dr = Nothing
            End While
        End Using
        DataGrid1.DataSource = Cart
    End Sub


Maybe, hopefully, easy to you experts but as I'm still quit a newby...any help is appreciated...

Thx & regards,
Rob

Avatar of srinivasbn
srinivasbn
Flag of United States of America image

Hi

i am not finding what columns you added for the datagrid. can you send me the datagrid columns what you added and how you added. If you kept readonly for the column level or if you kept the column resize option as false you can't change.

Avatar of Robbals
Robbals

ASKER


Dear Srinivasbn,

hmm, don' t even understand what you ask here...
I addcolumns to the CART datatable (Cart.Columns.Add(New Data.DataColumn("Verteg.", GetType(String))))
I use a line from a textfile and chop this up into several different items and then trow these items into a row from the datatable..
The result is a nice working datagrid, I can even change values ( by using: DataGrid1.Item(row, column) = newvalue)
So, for me this works okBUT I get all the same sizes for my columns....and for exampl the field "Omschrijving" is about 25 caraters long and thus doesn't fit into the column. (I can resize it while running the program though, but would like to set a default witdh)

Thx for your help.
Regards,
Rob
Avatar of Robbals

ASKER


FOUND IT !!!!!! :-)

had to add:

        Dim gtsGrid As DataGridTableStyle = New DataGridTableStyle
        gtsGrid.MappingName = Cart.ToString  (!!!! cart.tostring did the trick)
        DataGrid1.TableStyles.Add(gtsGrid)
        gtsGrid.GridColumnStyles(0).Width = 100

Thx anyway for ur time!

Regards,
Rob
ASKER CERTIFIED SOLUTION
Avatar of Robbals
Robbals

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial