DataGridView volání funkce   otázka

VB.NET, WinForms

Zdravím,

potřeboval bych ošetřit následující kód tak, abych mohl volat proceduru PlaceGridView víckrát než jednou (tak aby docházelo k vytváření nové komponenty a né pouze k jejímu posunu). Tento kód jsem převzal z následujícího odkazu: http://msdn.microsoft.com/cs-cz/library/... a upravil k obrazu svému. Tady ho prezentuji v očesané podobě, jen pro potřeby pochopení problému.

Nevím co s tím, problém tkví v deklaraci "Private WithEvents AutoDataGridView As New DataGridView". Snažil jsem se jej nahradit deklaraci DIM přímo ve funkci, ovšem poté neproběhne procedura AutoDataGridView_CellFormatting, sloužící ke kontrole řádků v datagridview.

Jsem začátečník a tady už mé síly nestačí, prosím o radu, stačí nastínit řešení, děkuji.

Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    'Inherits System.Windows.Forms.Form

    Private WithEvents AutoDataGridView As New DataGridView

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        Me.Size = New Size(800, 500)

        PlaceGridView("First Grid View", 50)

        PlaceGridView("Second Grid View", 450)

    End Sub

    Private Sub PlaceGridView(ByVal Name As String, ByVal YLoc As Integer)

        AutoDataGridView.ColumnCount = 3

        With AutoDataGridView
            .Name = Name
            .Location = New System.Drawing.Point(50, Yloc)
        End With

        AutoDataGridView.ColumnCount = 3

        With Me.AutoDataGridView
            .Columns(0).DisplayIndex = 0
            .Columns(1).DisplayIndex = 1
            .Columns(2).DisplayIndex = 2
        End With

        Me.Controls.Add(AutoDataGridView)

    End Sub

    Private Sub AutoDataGridView_CellFormatting(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
        Handles AutoDataGridView.CellFormatting

        If e.ColumnIndex = Me.AutoDataGridView.Columns(1).Index _
            AndAlso (e.Value IsNot Nothing) Then

            With Me.AutoDataGridView.Rows(e.RowIndex).Cells(e.ColumnIndex)

                If e.Value.Equals("1") Then
                    .ToolTipText = "very bad"
                ElseIf e.Value.Equals("2") Then
                    .ToolTipText = "bad"
                ElseIf e.Value.Equals("3") Then
                    .ToolTipText = "good"
                ElseIf e.Value.Equals("4") Then
                    .ToolTipText = "very good"
                End If

            End With

        End If


    End Sub

End Class

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback