سؤال

I meet are having difficulty in implementing a simple event "OnCheckedChanged" for control "checkBox" which is in a radCombobox. I found many examples on the net to write the event in Javascript but never in C#! Why? Is it impossible to generate this event in C#?

Here is my example :

<telerik:RadComboBox ID="RadComboBoxSelectedEntity" runat="server" AutoPostBack="false" EnableCheckAllItemsCheckBox="false" EmptyMessage="Tous" CheckedItemsTexts="DisplayAllInInput" CheckBoxes="true" width="300px"  
AllowCustomText="true" DataTextField="name" DataValueField="name"  HighlightTemplatedItems="true">  
<ItemTemplate> 
<asp:CheckBox runat="server" ID="CheckBox"    Text='<%# DataBinder.Eval(Container, "Text") %>' OnCheckedChanged="checkedChangeCombobox" AutoPostBack="true" />  
<asp:Label ID="lblSearchRef" runat="server" Text='<%# DataBinder.Eval(Container, "Text") %>' Visible="true" /> 
</ItemTemplate> 
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>

And the Javascript event "OnCheckedChanged":

<script language="javascript" type="text/javascript">
    function checkedChangeCombobox(sender, eventArgs) {
        var item = eventArgs.get_item();
        sender.set_text("You checked " + item.get_text());
    }
</script>

But I need implement this in C# ! Like that:

protected void checkedChangeCombobox(object sender, EventArgs e)
{

     CheckBox myCheckBoxes = sender as CheckBox;
     string textChk = myCheckBoxes.Text;

}

But not working...

هل كانت مفيدة؟

المحلول

You need to assign the check box event handler in the ItemDataBound event for the combo box, like so:

private void RadComboBoxSelectedEntity_ItemDataBound(object sender, Telerik.Web.UI.RadComboBoxItemEventArgs e)
{
    ((CheckBox)e.Item.FindControl("CheckBox")).CheckedChanged += checkedChangeCombobox;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top