using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; using System.Data; public partial class TestPages_TestComboCheckBoxes : System.Web.UI.Page { protected void Page_Init(object sender, EventArgs e) { //this is name of combo rcbMitkanKav.ItemTemplate = new ItemTemplate(); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) LoadData(); } protected void rcbMitkanKav_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e) { DataTable dtMitkanimKavim = new DataTable(); const string MethodName = "SearchPopWindow.rcbMitkanKav_ItemsRequested"; int UserErrorCode = 6; try { string sComboText = e.Text; //pattern to search string sSearchLetter = ""; if (sComboText == "") { sSearchLetter = ""; } if (sComboText != "") { sSearchLetter = sComboText; } try { if (sSearchLetter.Length < 3) return; int queryId = 1; dtMitkanimKavim = GetSearchResultByWord(sSearchLetter, queryId); int itemsPerRequest = 30; int itemOffset = e.NumberOfItems; int endOffset = itemOffset + itemsPerRequest; if (endOffset > dtMitkanimKavim.Rows.Count) { endOffset = dtMitkanimKavim.Rows.Count; } if (endOffset == dtMitkanimKavim.Rows.Count) { e.EndOfItems = true; } else { e.EndOfItems = false; } rcbMitkanKav.DataSource = dtMitkanimKavim; rcbMitkanKav.DataBind(); } catch { e.Message = "אין רשומות"; } } catch (Exception ex) { throw ex; } } private void LoadData() { try { ///here code to load data from database int a table and save it in Session } catch (Exception ex) { throw ex; } } /// <summary> /// /// </summary> /// <param name="sSearchWord">curren input</param> /// <param name="queryId"></param> /// <returns></returns> public DataTable GetSearchResultByWord(string sSearchWord, int queryId) { DataTable dt = new DataTable(); //build new datable is contain two columns dt.Columns.Add("ComboValue"); dt.Columns.Add("ComboText"); DataRow newRow = null; string currentValue = string.Empty; ///array of rows from a table according to current input sSearchWord DataRow[] drSelected = null; ///replace "'" to sql select if (sSearchWord.Contains("'")) sSearchWord = sSearchWord.Replace("'", "''"); try { drSelected = SessionManager.dtMitkanimKavim.Select("NameReferenceId LIKE '" + "%" + sSearchWord + "%" + "'") as DataRow[]; //add array to new datable foreach (DataRow row in drSelected) { dt.Rows.Add(row); } } catch (Exception ex) { throw ex; } return dt; } } class ItemTemplate : ITemplate { public void InstantiateIn(Control container) { CheckBox chk = new CheckBox(); //chk.ID = "chk1"; chk.Attributes.Add("onclick", "SetCheckedStateToServer()"); Label lbl = new Label(); Table table = new Table(); TableRow mainRow = new TableRow(); TableCell cell1 = new TableCell(); cell1.Controls.Add(chk); cell1.DataBinding += new EventHandler(cell1_DataBinding); mainRow.Cells.Add(cell1); TableCell cell2 = new TableCell(); cell2.Controls.Add(lbl); cell2.DataBinding += new EventHandler(cell2_DataBinding); mainRow.Cells.Add(cell2); table.Rows.Add(mainRow); container.Controls.Add(table); } private void cell1_DataBinding(object sender, EventArgs e) { TableCell target = (TableCell)sender; (target.Controls[0] as CheckBox).Checked = true; } private void cell2_DataBinding(object sender, EventArgs e) { TableCell target = (TableCell)sender; RadComboBoxItem item = (RadComboBoxItem)target.BindingContainer; (target.Controls[0] as Label).Text = ((DataRowView)(item.DataItem)).Row[1].ToString(); } }<telerik:RadPanelBar runat="server" ID="rpbFilters" ExpandMode="FullExpandedItem" Skin="Windows7"> <Items> <telerik:RadPanelItem Text="Item1" Expanded="False"> <ContentTemplate> <telerik:RadListBox runat="server" ID="radChkList1" ClientIDMode="Inherit" CheckBoxes="true" > </telerik:RadListBox> </ContentTemplate> </telerik:RadPanelItem> <telerik:RadPanelItem Text="Item2" Expanded="False"> <ContentTemplate> <telerik:RadListBox runat="server" ID="radChkList2" ClientIDMode="Inherit" CheckBoxes="true" > </telerik:RadListBox> </ContentTemplate> </telerik:RadPanelItem> </Items></telerik:RadPanelBar> Private Sub rpbFilters_ItemClick(sender As Object, e As Telerik.Web.UI.RadPanelBarEventArgs) Handles rpbFilters.ItemClick 'Load dataEnd Sub<telerik:RadGrid ID="grdIn" runat="server" OnLoad="grdIn_OnLoad" OnNeedDataSource="grdIn_NeedDataSource"
SkinID="CR" GridLines="None" AllowPaging="True" AutoGenerateColumns="False" OnItemDataBound="grdIn_ItemDataBound"
AllowMultiRowSelection="true" Width="925px">
<MasterTableView PageSize="10"
DataKeyNames="ID">
<NoRecordsTemplate>
<div style="text-align: left; width: 100%">
<asp:Label ID="lblEmptyMsg" runat="server" meta:resourcekey="lblEmptyMsg2Resource1"></asp:Label></div>
</NoRecordsTemplate>
</MasterTableView>
<PagerStyle AlwaysVisible="True" />
<ClientSettings EnableRowHoverStyle="true">
<Selecting AllowRowSelect="True" />
<Scrolling AllowScroll="True"></Scrolling>
<ClientEvents OnGridCreated="GridCreated" />
</ClientSettings>
</telerik:RadGrid>
protected void btne_Click(object sender, EventArgs e)
{
foreach (Telerik.Web.UI.GridItem objGrdItem in grdIn.Items)
{ if (objGrdItem.Selected)
{
int Id = (int)(objGrdItem.OwnerTableView.DataKeyValues[objGrdItem.ItemIndex]["ID"]);
}
}
}
public List<AppointmentData> GetJSONScheduler(SchedulerInfo schedulerInfo)
DataContractJsonSerializer dJSON = new DataContractJsonSerializer(typeof(List<AppointmentData>); List<AppointmentData> sr = (List<AppointmentData>)dJSON.ReadObject(str);//sbResponse is taken from the stream of webrequest responseJavaScriptSerializer jscriptDeserializer = new JavaScriptSerializer(); jscriptDeserializer.RecursionLimit = 100; List<AppointmentData> srResult = jscriptDeserializer.Deserialize<List<AppointmentData>>(sbResponse.ToString());