1

RadToolbarDropDownコード ビハインド ファイルで選択したアイテムの値を取得する方法。私の場合、動的に作成する RadToolBar がありますRadToolBarDropDown。私のコードが示すように、これらの DropDown Value と Text を動的に設定します。

RadToolBarDropDown dd = new RadToolBarDropDown();
if (ds.HasRows())
        {
            DataTable dt = ds.Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                RadToolBarButton rtb = new RadToolBarButton();
                rtb.Text = row["Description"].ToString();
                rtb.Value = row["ProblemStatusID"].ToString();
                rtb.CommandName = "StatusChange";
                rtb.CommandArgument = row["ProblemStatusID"].ToString();
                dd.Buttons.Add(rtb);
            }
        }
        RadToolBarItem item = dd;
        mlmToolBar.Items.Add(item);

コマンド名「StatusChange」が発火したときに、csで選択されたアイテムの値を取得したいと思います。ドロップダウンのクリックされた値を取得したい。クリックされたドロップダウン値を取得するにはどうすればよいですか?

4

1 に答える 1

0

ドロップダウン項目のボタン クリック イベントを処理するには、2 つの方法があります。サーバー側で処理することも、クライアント側で処理することもできます。1つずつ見てみましょう:

サーバ側:

ページに rad ツールバー コントロールがあるとします。同じコードは次のとおりです。

    <telerik:RadToolBar runat="server" ID="rtlMyToolBar" 
OnButtonClick="rtlMyToolBar_ButtonClick" ></telerik:RadToolBar>

OnButtonClick イベントを処理したことに注意してください。次に見ていきます。

コード ビハインドから、ドロップダウン コントロールを追加し、ドロップダウンにボタンを追加しています。同じコードは次のとおりです。

RadToolBarDropDown dd = new RadToolBarDropDown("Drop Down - Handled Server Side");

        RadToolBarButton rtb = new RadToolBarButton();
        rtb.Text = "Bold";
        rtb.Value = "Bold";
        rtb.CommandName = "Bold";
        rtb.CommandArgument = "Bold";
        dd.Buttons.Add(rtb);

        rtb = new RadToolBarButton();
        rtb.Text = "Italic";
        rtb.Value = "Italic";
        rtb.CommandName = "Italic";
        rtb.CommandArgument = "Italic";
        dd.Buttons.Add(rtb);

        rtb = new RadToolBarButton();
        rtb.Text = "Underline";
        rtb.Value = "Underline";
        rtb.CommandName = "Underline";
        rtb.CommandArgument = "Underline";
        dd.Buttons.Add(rtb);

        rtlMyToolBar.Items.Add(dd as RadToolBarItem);

次に、イベント ハンドラーを見てみましょう。

protected void rtlMyToolBar_ButtonClick(object sender, RadToolBarEventArgs e)
    {
        var toolBarButton = e.Item as RadToolBarButton;
        string commandName = toolBarButton.CommandName;
        if (commandName == "YourCommandName")
        {
            //Your logic
        }
    }

クライアント側:

次に、クライアント側でドロップダウン ボタンのクリックをリッスンする方法を見てみましょう。rad ツールバーのコード スニペットは次のとおりです。

    <telerik:RadToolBar runat="server" ID="rtlMyToolBar2"
 OnClientButtonClicked="OnClientButtonClicked"></telerik:RadToolBar>

OnClientButtonClicked イベントをリッスンしていることに注意してください。イベント ハンドラーは、javascript 関数リファレンスです。

JavaScriptコードは次のとおりです。

<script>
            function OnClientButtonClicked(sender, args) {
                $("#status").append("OnClientButtonClicked: " + args.get_item().get_text() + 
                " - Command Name: "  + 
                args.get_item().get_commandName()  + "<br/>");
            }

        </script>

すべてのテレリック コントロールには、リッチで一貫性のあるクライアント側とサーバー側の API があります。

上記のコードの GIST リンクは次のとおりです: https://gist.github.com/lohithgn/5329716

以下は、ライブ デモ サイトのクライアント側 API のケースを示す例です: http://demos.telerik.com/aspnet-ajax/toolbar/examples/clientside/clientevents/defaultcs.aspx

クライアント側 API の基本ヘルプ ドキュメントは次のとおりです: http://www.telerik.com/help/aspnet-ajax/toolbar-clientsidetoolbaritem.html

ありがとう

于 2013-04-07T09:33:05.330 に答える