1

私はSharepointWebPartを作成し、それにグリッドを含むカスタムToolPartを指定しました(正確には、Telerik RadGridですが、それはかなり無関係です)。グリッドにデータを入力し、グリッドに追加するGridButtonColumnオブジェクトを作成しました。

protected override void CreateChildControls()
{
            GridButtonColumn c = new GridButtonColumn();
            c.ConfirmText = "Really Delete?";
            c.ConfirmDialogType = GridConfirmDialogType.RadWindow;
            c.ConfirmTitle = "Delete";
            c.ButtonType = GridButtonColumnType.LinkButton;
            c.Text = "Delete";
            c.UniqueName = "DeleteColumn";
            grid.Columns.Add(c);
    // ...

    grid.DeleteCommand += new GridCommandEventHandler(Grid_DeleteCommand);
}

グリッドは正しくレンダリングされます-データが入力され、削除ボタンが表示されます。

これで、削除ボタンのいずれかをクリックしても、Grid_DeleteCommand()イベントがトリガーされません。ただし、グリッドの外側にランダムなボタンを追加すると、クリックイベントがトリガーされます。

Button b = new Button();
    b.Text = "Hello World";
    b.Click += new EventHandler(Button_Click);

このSharepointのインストールではデバッグできません(またはデバッグできますが、プロセスにアタッチしてもまだデバッグできません)。したがって、これらの両方のイベントの方法は、単にGoogleへのリダイレクトです。これが、イベントが発生するかどうかを確認する方法です。

    string AbsoluteUri ="http://www.google.com";
    Page.Response.Redirect(AbsoluteUri);

2つの違いは、[削除]ボタンを使用するとグリッドコントロール内にネストされるのに対し、[HelloWorld]ボタンを使用するとネストされないことだけです。

Grid_DeleteCommandグリッドのボタンをクリックすると、どうすれば火をつけることができますか?

4

1 に答える 1

1

Telerik Gridコントロールを使用して、コードでボタンを指定する必要がありますCommandName

この行を追加すると、問題が解決するはずです。

c.CommandName = "Delete";
于 2012-02-08T18:25:09.303 に答える