Esempio n. 1
0
        void cboDepotCode_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
        {
            ((Telerik.Web.UI.RadComboBox)sender).Items.Clear();
            System.Data.DataTable reader = null;
            if (Cache["__depotCodes"] == null)
            {
                Facade.IReferenceData facResource = new Facade.ReferenceData();
                reader = facResource.GetAllDepotCodes();
                Cache.Add("__depotCodes", reader, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 20, 0), System.Web.Caching.CacheItemPriority.Normal, null);
            }
            else
            {
                reader = (DataTable)Cache["__depotCodes"];
            }

            int itemsPerRequest = 20;
            int itemOffset      = e.NumberOfItems;
            int endOffset       = itemOffset + itemsPerRequest;

            if (endOffset > reader.Rows.Count)
            {
                endOffset = reader.Rows.Count;
            }

            DataTable dt = reader;

            Telerik.Web.UI.RadComboBoxItem rcItem = null;
            for (int i = itemOffset; i < endOffset; i++)
            {
                rcItem       = new Telerik.Web.UI.RadComboBoxItem();
                rcItem.Text  = dt.Rows[i]["DepotCode"].ToString();
                rcItem.Value = dt.Rows[i]["DepotCode"].ToString();
                ((Telerik.Web.UI.RadComboBox)sender).Items.Add(rcItem);
            }

            if (dt.Rows.Count > 0)
            {
                e.Message = string.Format("Items <b>1</b>-<b>{0}</b> out of <b>{1}</b>", endOffset.ToString(), dt.Rows.Count.ToString());
            }
        }