Radgrid раскрывающийся список onchange - PullRequest
0 голосов
/ 25 августа 2011

Я пытаюсь обновить ярлыки asp.net вне сетки, когда я изменяю выпадающий список RadGrid.Я не знаю, что опубликовать всю страницу.Можно ли как-нибудь освежиться с помощью Ajax techinique?Пожалуйста, дайте мне знать.

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Статья Telerik, которую вы разместили в своих комментариях (учебник, которому вы следуете), очень старая и поэтому использует старую версию элементов управления 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;
}

Надеюсь, что этопомогает.

1 голос
/ 25 августа 2011

Свернуть сетку и все элементы управления вне сетки, которые необходимо асинхронно обновлять внутри RadAjaxPanel.

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

РЕДАКТИРОВАТЬ : Если вы посмотрите ваш последний комментарий, это будетболее уместно использовать RadAjaxManager, например:

<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> 
...