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
|