Hi,
I have empty combobox with template created on server side.
I need add item with javascript on client-side, but I need use template items (checkbox)
If I add new item, I have only clasic combobox item.
Javascript add items
Thanks for help.
Best regards
Roman
I have empty combobox with template created on server side.
I need add item with javascript on client-side, but I need use template items (checkbox)
If I add new item, I have only clasic combobox item.
class
CheckBoxTemplate : ITemplate
{
string
ColName =
"cboCol1"
;
const
string
head =
"<div onclick=\"StopPropagation(event)\">"
;
const
string
tail =
"</div>"
;
public
void
InstantiateIn(Control container)
{
CheckBox chkControl =
new
CheckBox();
chkControl.ID =
"chkControl"
;
chkControl.CssClass =
""
;
chkControl.Attributes.Add(
"onclick"
,
"onCheckBoxClick('"
+ _controlClientId +
"')"
);
chkControl.DataBinding +=
new
EventHandler(
this
.chkControl_DataBind);
container.Controls.Add(
new
LiteralControl(head));
container.Controls.Add(chkControl);
container.Controls.Add(
new
LiteralControl(tail));
}
public
void
chkControl_DataBind(Object sender, EventArgs e)
{
CheckBox chkControl = (CheckBox)sender;
RadComboBoxItem radComboItem = (RadComboBoxItem)chkControl.NamingContainer;
chkControl.Text =
" "
+ DataBinder.Eval(radComboItem.DataItem, ColName).ToString();
}
}
Javascript add items
var
xmlDoc = xmlDoc.firstChild;
if
(xmlDoc.childNodes.length > 0) {
var
combo = $find(comboid);
combo.trackChanges();
for
(x = 0; x < xmlDoc.childNodes.length; x++) {
try
{
sCboID = xmlDoc.childNodes[x].childNodes[0].childNodes[0].nodeValue;
sCboText = xmlDoc.childNodes[x].childNodes[1].childNodes[0].nodeValue;
var
comboItem =
new
Telerik.Web.UI.RadComboBoxItem();
comboItem.set_text(sCboText);
comboItem.set_value(sCboID);
combo.get_items().add(comboItem);
}
catch
(err) { }
}
combo.commitChanges();
}
Thanks for help.
Best regards
Roman