2011-08-25 5 views
0

RadGrid 드롭 다운 목록을 변경하면 그리드 외부에서 asp.net 레이블 contorls를 새로 고치려고합니다. 나는 전체 페이지를 다시 게시 할 것을 원하지 않는다. 어쨌든 Ajax techinique를 사용하여 새로 고칠 수 있습니까? 저에게 알려주세요.Radgrid 드롭 다운 목록 onchange

도움 주셔서 감사합니다.

+0

지금까지 얼마나 멀리 있었습니까?, 그리드 구성 방법은 무엇입니까? 시도 (관련 마크 업 및 코드 숨김)를 게시하면 살펴볼 것입니다. 그러나이 정보가 없으면 올바른 방향으로 안내하기가 어렵습니다. – jdavies

+0

드롭 다운을 변경할 때 서버에 문의해야합니까? Ajax 업데이트를 사용하더라도 전체 페이지의 수명주기가 진행됩니다. –

+0

다음은 내가 따르려고하는 예입니다. 하지만 내 레이블은 상쾌하지 않습니다. http://www.telerik.com/help/aspnet/grid/grduseajaxtoupdateoutsidecontrols.html – nav100

답변

1

RadAjaxPanel에서 비동기 적으로 업데이트해야하는 그리드 외부 및 그리드 외부의 모든 컨트롤을 래핑하십시오.

<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server"> 
    <asp:Label ID="Label1" runat="server" /> 
    <telerik:RadGrid ID="RadGrid1" runat="server"> 
     ... 
    </telerik:RadGrid> 
</telerik:RadAjaxPanel> 

편집 :

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ...> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="RadGrid1"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="Label1" /> 
       <telerik:AjaxUpdatedControl ControlID="Label2" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
+0

Grid에서 드롭 다운 목록을 변경하면이 컨트롤을 어떻게 찾을 수 있습니까? – nav100

+0

또한 페이지의 부트 옴에서이 레이블 컨트롤을 사용하고 있습니다. RadAjaxPanel 안에 컨트롤을 래핑 할 수 없습니다. – nav100

+0

@ nav100 : 그러면 RadAjaxManager를 사용하십시오. –

1

자습서 (귀하의 의견에 게시 한 Telerik 기사는 다음과 같다 : 마지막 코멘트를보고는,이처럼 RadAjaxManager을 사용하는 것이 더 적합 할 것)는 매우 오래되었고 Telerik 컨트롤의 이전 버전을 사용합니다.

Telerik ASP.NET Ajax 2010 컨트롤을 사용하지만 (예를 들어 2011 버전에서 많이 변경되지 않았다고 가정합니다.) 원하는 것을 달성하기위한 출발점을 제공 할 수있는 예제를 만들었습니다. 당신은 다운로드 할 수 있습니다).

는 여기있다 :

마크 업

<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> 

.... 

<asp:ScriptManager ID="scriptManager" runat="server"></asp:ScriptManager> 
<telerik:RadAjaxPanel ID="radAjax" runat="server"> 
    <telerik:RadGrid ID="radGrid" runat="server" GridLines="None" Width="100%"> 
     <MasterTableView AutoGenerateColumns="False"> 
     <Columns> 
      <telerik:GridTemplateColumn> 
       <ItemTemplate> 
        <telerik:RadComboBox ID="comboBox1" runat="server" OnSelectedIndexChanged="cbm_SelectedIndexChanged" AutoPostBack="true"> 
         <Items> 
          <telerik:RadComboBoxItem Text="Item 1" Value="Value 1" /> 
          <telerik:RadComboBoxItem Text="Item 2" Value="Value 2" /> 
          <telerik:RadComboBoxItem Text="Item 3" Value="Value 3" /> 
         </Items> 
        </telerik:RadComboBox> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
     </Columns> 
     </MasterTableView>      
    </telerik:RadGrid> 
    <asp:Label ID="label1" runat="server"></asp:Label>    
</telerik:RadAjaxPanel> 

코드이 도움이

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     //Quick data bind for the example 
     var data = new[] { new { Value = "1" }, new { Value = "2" } }; 
     radGrid.DataSource = data; 
     radGrid.DataBind(); 
    } 
} 

protected void cbm_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e) 
{ 
    //Retrieve a reference to the combobox if needed 
    RadComboBox comboBox = (RadComboBox)o; 

    //Set the label text to the value of the combobox item selected 
    label1.Text = e.Value + comboBox.ID; 
} 

희망.