Vraag : DataGridView die - plaatst de kolomgrootte?

I na het creëren van DataGridView en het binden van het aan een DataSource heb geprobeerd die ik de Breedte van de Kolom te plaatsen en ik krijg een fout. Ik controleer en zie dat het grid.columns.count heeft aangezien 0 rowcount de dataset eveneens nog 4 rijen en ongeveer 12 kolommen hebben, EN dit net toont wanneer de vorm waarop het wordt geplaatst wordt getoond. Gelieve te zien de code. Misschien kan iemand vinden wat ik verkeerde here. moet doen
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
Private SubShowOrderDetail (ByVal SalesHeaderID als Geheel)
        Schemerige sql als Koord = „spOrderDetail“
        Schemerige ds als Nieuwe Dataset
        Schemerige grd als Nieuwe DataGridView

        Probeer
            Het gebruiken conn als Nieuwe SqlConnection (My.Settings.OrderEntrySalesConnectionString)
                conn. Open ()
                Het gebruiken van DA als Nieuwe SqlDataAdapter (sql, conn)
                    Met DA
                        .SelectCommand.CommandType = CommandType.StoredProcedure
                        .SelectCommand.Parameters.Add („@SalesHeaderID“, SqlDbType.Int). Richting = ParameterDirection.Input
                        .SelectCommand.Parameters („@SalesHeaderID“). Waarde = SalesHeaderID
                        . Vul (ds)
                    Eind met
                Het Gebruiken van het eind
            Het Gebruiken van het eind
        Vangst ex als Uitzondering
            Ex DisplayErrorMsgLogToTable (, de „Klant doorbladert - controle - 1“)
        Het eind probeert

        Probeer
            grd. Naam = „grd“
            grd.DataSource = ds. Lijsten (0)
            grd. Grootte = Nieuwe System.Drawing.Size (720, 220)
            '
            '******************************
            'Komt hier de fout als uncomment het volgende
            'becommentari�ërde lijnen. 
            '
            'grd. Kolommen (0). Breedte = 80
            'grd. Kolommen („Beschrijving“). Breedte = 200
            'grd. Kolommen („in gewicht“). Breedte = 45
            'grd. Kolommen („Inventaris“). Breedte = 55
            grd. Zichtbaar = Waar
            grd.ScrollBars = ScrollBars.Vertical
            grd.RowHeadersVisible = Vals
            Schemerige frm als Nieuwe Windows.Forms.Form
            Met frm
                . Grootte = Nieuwe System.Drawing.Size (730, 300)
                . Controls.Add (grd)
                . Dok = DockStyle.Fill
                .BringToFront ()
                .StartPosition = FormStartPosition.CenterParent
                .SizeGripStyle = Windows.Forms.SizeGripStyle.Hide
                . Tekst = het „Detail van de Orde voor“ + Me.cboCustomerPickupSalesHeaderID.SelectedText.ToString
                .MinimizeBox = Vals
                .MaximizeBox = Vals
                .ShowDialog ()
                . Schik ()
                . Sluit ()
            Eind met

        Vangst ex als Uitzondering
            Ex DisplayErrorMsgLogToTable (, „ShowOrderDetail“)
        Het eind probeert
    Sub van het eind

Antwoord : DataGridView die - plaatst de kolomgrootte?

Omdat u DataGridView dynamisch cre�ërt zullen de kolommen niet aan u beschikbaar zijn tot het net band heeft voltooid. Zo, is wat u moet doen toevoegt een manager voor de gebeurtenis DataBindingComplete en de reeks de kolomgrootte daar:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
    AddHandler grd.DataBindingComplete, AddressOf grd_DataBindingComplete

    Privé SubDataGridView1_DataBindingComplete (ByVal afzender als System.Object, ByVal e als System.Windows.Forms.DataGridViewBindingCompleteEventArgs)

        Schemerige grd als DataGridView = C (afzender, DataGridView)

        grd. Kolommen (0). Breedte = 80
        grd. Kolommen („Beschrijving“). Breedte = 200
        grd. Kolommen („in gewicht“). Breedte = 45
        grd. Kolommen („Inventaris“). Breedte = 55

    Sub van het eind 
Andere oplossingen  
 
programming4us programming4us