0

VB.NETプロジェクトのGridView機能を拡張するC#コードを使用しようとしています。私が使用しているコードはここからです。

C#コードには、GroupHeaderのイベント定義があります。

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

これは、上記のWebサイトの例によって拡張されています。

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;
    }
}

私の質問は、このコードをVB.NETに変換するにはどうすればよいですか?

私は次のようにイベントの実装を変換しました:

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

次に、VB.NETでこのイベントを呼び出す(上げる)にはどうすればよいですか?

4

2 に答える 2

4

あなたが探している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

イベントは から暗黙的に発生すると仮定しGridViewHelperます。

于 2012-04-11T12:10:45.933 に答える
1

あなたは以下を使用してイベントを購読しますAddHandler

AddHandler GroupHeader, AddressOf helper_GroupHeader

そして、以下を使用してイベントを発生させRaiseEventます:

RaiseEvent GroupHeader()
于 2012-04-11T11:12:33.717 に答える