using FastReport.Dialog; using System; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FastReport.Web { public partial class WebReport : WebControl, INamingContainer { private void CheckedListBoxChange(CheckedListBoxControl cb, string index) { int i = index.IndexOf("_"); if (i != -1) { string item = index.Substring(0, i); string state = index.Substring(i + 1); int checkedIndex; if (Int32.TryParse(item, out checkedIndex)) { cb.CheckedListBox.SetItemChecked(checkedIndex, state == "true"); ControlFilterRefresh(cb); cb.OnSelectedIndexChanged(null); } } } private string GetCheckedListBoxHtml(CheckedListBoxControl control) { if (control.Items.Count == 0) { control.FillData(); ControlFilterRefresh(control); } string id = Prop.ControlID + control.Name; string html = string.Format("{5}", // class "", // style GetCheckedListBoxStyle(control), // name control.Name, // size control.Items.Count.ToString(), // title id, GetCheckedListBoxItems(control) ); control.FilterData(); return html; } private string GetCheckedListBoxItems(CheckedListBoxControl control) { StringBuilder sb = new StringBuilder(); string disabled = control.Enabled ? "" : "disabled"; for (int i = 0; i < control.Items.Count; i++) { string id = Prop.ControlID + control.Name + i.ToString(); sb.AppendFormat(" {3}
", control.CheckedIndices.Contains(i) ? "checked" : "", // onchange GetEvent("onchange", control, i.ToString() + " + '_' + " + String.Format("document.getElementById('{0}').checked", id)), id, control.Items[i], disabled ); } return sb.ToString(); } private string GetCheckedListBoxStyle(CheckedListBoxControl control) { return string.Format("overflow-y:scroll;{0}", GetStandardStyle(control)); } } }