2012-05-01 4 views
0

削除用にGridButtonColumnを設定したRadgridがあります。私は確認ダイアログを使用して、リソースファイルを使用してユーザーの言語に従ってConfirmTextおよびConfirmTitleプロパティを設定しています。確認ダイアログで[OK]ボタン、[キャンセル]ボタン、および[閉じる]ツールチップを表示するには、どうすればユーザーの言語に合わせて設定できますか?RadGridのGridButtonColumn確認ダイアログの変更方法異なる言語のOKボタンとキャンセルボタンのテキスト

答えて

0

このため、独自の確認テンプレートを作成する必要があります。

まず、自分のカルチャー情報を保存するページに1つの隠しフィールドを追加する必要があります。 (可能であれば、このコードをマスターページに入れて、すべてのページでそのコードを実行する)。

protected override void OnLoad(EventArgs e) 
{ 
    base.OnLoad(e); 

    HtmlInputHidden hi = new HtmlInputHidden(); 
    HtmlHead head = (HtmlHead)Page.Header; 
    hi.ID = "HtmlInputHiddenLang"; 
    hi.Attributes.Add("class", "HtmlInputHiddenLang"); 
    hi.Value = System.Threading.Thread.CurrentThread.CurrentUICulture.Name; 
    head.Controls.Add(hi); 
} 

次に、radwindowmanagerの独自のテーマまたはテンプレートを作成します。

<telerik:RadWindowManager runat="server" SkinID="CustomSkin"> 
     <ConfirmTemplate> 
      <div class="rwDialogPopup radconfirm"> 
       <div class="rwDialogText"> 
        {1} 
       </div> 
       <div class="rwDialogButton"> 
        <a onfocus="RadWindowConfirm_DefaultFocus();" onclick="$find('{0}').close(true);" 
         class="MyrwPopupButton" href="javascript:void(0);"> 
         <img id="Img2" runat="server" class="imgCurrentCulture" src="~/Images/CURRENT_CULTURE/Yes.png" 
          onmouseover="ImageButtonMouseOver(this);" onmouseout="ImageButtonMouseOut(this);" /></a> 
        <a id="hrefNo" name="hrefNo" onclick="$find('{0}').close(false);" class="MyrwPopupButton" 
         href="javascript:void(0);"> 
         <img id="Img3" runat="server" class="imgCurrentCulture" src="~/Images/CURRENT_CULTURE/No.png" 
          onmouseover="ImageButtonMouseOver(this);" onmouseout="ImageButtonMouseOut(this);" /></a> 
       </div> 
       <script type="text/javascript"> 

        $('img.imgCurrentCulture').each(function() { 
         var culture = $('.HtmlInputHiddenLang')[0].value; 
         this.src = this.src.replace('/CURRENT_CULTURE/', '/' + culture + '/'); 
        }); 

        function RadWindowConfirm_DefaultFocus() { 
         document.getElementById("hrefNo").focus(); 
        } 
       </script> 
      </div> 
     </ConfirmTemplate> 
    </telerik:RadWindowManager> 

上記のコードのデフォルトのURLは「〜/ Images/CURRENT_CULTURE/Yes.png」のようです。 隠しフィールドにカルチャー名を設定すると、CURRENT_CULTUREがEn_usに置き換えられ、最終的な画像URLは "〜/ Images/en_us/Yes.png"になります。

注:自分のコードでjqueryを使用しましたので、プロジェクトにjqueryを追加することを忘れないでください。

関連する問題