RadComboBox预选

时间:2013-08-27 06:57:09

标签: c# asp.net

首先,我要做的是预先选择RadComboBox中的值,如果未选择此值,则选择其他内容,然后将隐藏的某些特定字段的可见性更改为。

我的问题是我能够进行预选择,但是当这个预先选择的值发生变化时,我无法改变我的特定字段的可见性状态。

我厌倦了用标准事件 OnSelectedIndexChanged 来做这件事,但有些事情并没有触发为什么这么做..我还添加了 AutoPostBack = true 以及 ViewStateMode =启用“

首先是我的领域

这里也是我的预感,我想触发可见性变化

  <div class="formRowDiv">
                        <asp:Label ID="Activitylbl" runat="server" Text="Activity" CssClass="formLabel" />
                        <telerik:RadComboBox ID="rcbActivity" CssClass="rowForm" ViewStateMode="Enabled" runat="server" Width="260px" EmptyMessage="- Activity -"
                            DataTextField="ActivityId" DataValueField="ActivityId" AutoPostBack="true" OnSelectedIndexChanged="rcbActivity_SelectedIndexChanged">
                        </telerik:RadComboBox>
                        <asp:RequiredFieldValidator runat="server" Display="Dynamic" ControlToValidate="rcbActivity"
                            ErrorMessage="Can not be empty" CssClass="rowFormValidation" />
                    </div>

我想隐藏的内容:

<div class="formRowDiv">
                    <asp:Label ID="ActivityDescription" runat="server" Text="ActivityDescription" CssClass="formLabel"    Visible="false"/>
                    <telerik:RadTextBox runat="server" ID="rtbActivityDescription" Wrap="true" Height="50" TextMode="MultiLine" AutoPostBack="true" CssClass="rowForm" ReadOnly="true" Visible="false" />
                </div>

我如何进行预选:

在我的Page_Load中调用的数据绑定方法中 我首先循环,然后做一个预选择

   foreach (Activity item in ctx.Activity.OrderBy(l =>l.Code))
        {
            rcbActivity.Items.Add(new RadComboBoxItem(item.FullActivity, item.ActivityId.ToString()));

            if (rcbActivity.Items.FindItemByValue("4") != null)
            {
                rcbActivity.SelectedIndex = rcbActivity.Items.IndexOf(rcbActivity.Items.FindItemByValue("4"));
                ActivityDescription.Visible = true;
                rtbActivityDescription.Visible = true;
                rtbActivityDescription.ReadOnly = false;
            }
        }

以下是我隐藏字段的方法

protected void rcbActivity_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
    {

            ActivityDescription.Visible = true;
            rtbActivityDescription.Visible = true;
            rtbActivityDescription.ReadOnly = false;
    }

1 个答案:

答案 0 :(得分:1)

如果您的控件位于更新面板中,请尝试删除它,如果更新面板不是那么重要,请查看您对服务器端控件的更改是否正在受到影响