/// <summary> /// Load the devices for the partition based on the filters specified in the filter panel. /// </summary> /// <remarks> /// This method only reloads and binds the list bind to the internal grid. <seealso cref="Refresh"/> should be called /// to explicit update the list in the grid. /// <para> /// This is intentionally so that the list can be reloaded so that it is available to other controls during postback. In /// some cases we may not want to refresh the list if there's no change. Calling <seealso cref="Refresh"/> will /// give performance hit as the data will be transfered back to the browser. /// /// </para> /// </remarks> public void LoadDevices() { if (ServerPartition == null) { return; } var criteria = new DeviceSelectCriteria(); // only query for device in this partition criteria.ServerPartitionKey.EqualTo(ServerPartition.GetKey()); if (!String.IsNullOrEmpty(AETitleFilter.TrimText)) { QueryHelper.SetGuiStringCondition(criteria.AeTitle, SearchHelper.LeadingAndTrailingWildCard(AETitleFilter.TrimText)); } if (!String.IsNullOrEmpty(DescriptionFilter.TrimText)) { QueryHelper.SetGuiStringCondition(criteria.Description, SearchHelper.LeadingAndTrailingWildCard(DescriptionFilter.TrimText)); } if (!String.IsNullOrEmpty(IPAddressFilter.TrimText)) { QueryHelper.SetGuiStringCondition(criteria.IpAddress, SearchHelper.TrailingWildCard(IPAddressFilter.TrimText)); } if (StatusFilter.SelectedIndex != 0) { criteria.Enabled.EqualTo(StatusFilter.SelectedIndex == 1); } if (DHCPFilter.SelectedIndex != 0) { criteria.Dhcp.EqualTo(DHCPFilter.SelectedIndex == 1); } if (DeviceTypeFilter.SelectedIndex > -1) { var types = new List <DeviceTypeEnum>(); foreach (ListItem item in DeviceTypeFilter.Items) { if (item.Selected) { types.Add(DeviceTypeEnum.GetEnum(item.Value)); } } criteria.DeviceTypeEnum.In(types); } DeviceGridViewControl1.Devices = _theController.GetDevices(criteria); DeviceGridViewControl1.RefreshCurrentPage(); }
internal void Reset() { Clear(); DeviceGridViewControl1.Reset(); }