2012-04-11 13 views
0

Ich versuche, einige C# -Code zu verwenden, der die GridView-Funktionalität in einem VB.NET-Projekt erweitert. Der Code, den ich verwende, ist von here.Umwandlung von C# -Ereignisimplementierung in VB.NET

Im C# -Code gibt es eine Ereignisdefinition für GroupHeader-:

/// <summary> 
/// Event triggered after a row for group header be inserted 
/// </summary> 
public event GroupEvent GroupHeader; 

Dies wird durch Beispiel auf der oben angegebenen Website erweitert wird:

protected void Page_Load(object sender, EventArgs e) 
{ 
    GridViewHelper helper = new GridViewHelper(this.GridView1); 
    helper.RegisterGroup("ShipRegion", true, true); 
    helper.RegisterGroup("ShipName", true, true); 
    helper.GroupHeader += new GroupEvent(helper_GroupHeader); 
    helper.ApplyGroupSort(); 
} 

private void helper_GroupHeader(string groupName, object[] values, GridViewRow row) 
{ 
    if (groupName == "ShipRegion") 
    { 
     row.BackColor = Color.LightGray; 
     row.Cells[0].Text = "&nbsp;&nbsp;" + row.Cells[0].Text; 
    } 
    else if (groupName == "ShipName") 
    { 
     row.BackColor = Color.FromArgb(236, 236, 236); 
     row.Cells[0].Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + row.Cells[0].Text; 
    } 
} 

Meine Frage ist, wie konvertiere ich diese Code zu VB.NET?

Ich habe die Veranstaltung Umsetzung wie so konvertiert:

Private Sub helper_GroupHeader(ByVal groupName As String, ByVal values As Object(), ByVal row As GridViewRow) 
    Try 
     If groupName = "ITEM#" Then 
      row.BackColor = Color.LightBlue 
      row.Cells(0).Text = "&nbsp;&nbsp;" & row.Cells(0).Text 
     End If 
    Catch ex As Exception 

    End Try 
End Sub 

Wie kann ich dann nennen (raise?) Dieses Ereignis mit VB.NET?

Antwort

4

Sie suchen AddHandler:

Protected Sub Page_Load(sender As Object, e As EventArgs) 
    Dim helper As New GridViewHelper(Me.GridView1) 
    helper.RegisterGroup("ShipRegion", True, True) 
    helper.RegisterGroup("ShipName", True, True) 
    AddHandler helper.GroupHeader, AddressOf helper_GroupHeader 
    helper.ApplyGroupSort() 
End Sub 

Ich gehe davon aus dass das Ereignis implizit vonausgelöst wird.

+0

Das hat perfekt funktioniert, danke Tim. – johnmcp

1

würden Sie das Ereignis abonnieren AddHandler mit:

AddHandler GroupHeader, AddressOf helper_GroupHeader 

und erhöhen die Veranstaltung mit RaiseEvent:

RaiseEvent GroupHeader()