protected void OnReportTypeValueChanged(object sender, ValueChangedEventArgs e) { var old_report_type = e.OldValue.ToInt(); if (0 != old_report_type) { StoresClientScripts.ConfirmSaveStoresOrder(this, old_report_type); } var new_report_type = e.NewValue.ToInt(); if (0 != new_report_type) { //Для того чтобы избежать лишних обновлений, которые случаются при выборе нового типа отчетов по складам object old_value = null; if (_table.SqlParams.TryGetValue("@КодТипаОтчётаПоСкладам", out old_value) && new_report_type == ((string)old_value).ToInt()) { return; } StoresClientScripts.UpdateReportType(this); FilterApply(); } }
protected void Page_Load(object sender, EventArgs e) { if (V4IsPostBack) { return; } Title = Resx.GetString("STORE_ReportTitle"); StoresClientScripts.InitializeGlobalVariables(this); _table = new TemplatedSqlResult(this, "StoreReport", null, "StoreOrder.xslt", SQLQueries.SELECT_ОтчётыПоСкладам, CommandType.Text); var pageHelper = new StoresPageHelper(Request, ReturnId != "1" ? new AppParamsManager(ClId, StoresPageHelper.ReportParametersNamesCollection) : null); var isRequired = false; var strReportId = pageHelper.getRequestParameterValue("id", out isRequired); if (isRequired) { pageHelper.setSelectCtrlValue(sStoreReportType, ((int)SelectEnum.Contain).ToString(), strReportId, isRequired); } else { pageHelper.setSelectCtrlParameterValue(sStoreReportType, null, StoresPageHelper.ReportParameters.Type); } //string strRowsPerPage = pageHelper.getParameterValue(StoresPageHelper.ReportParameters.ResultsPerPage, out isRequired, string.Empty); //pageBar.RowsPerPage = strRowsPerPage.ToInt(); if (!string.IsNullOrEmpty(sStoreReportType.Value)) { FilterApply(); } StoresClientScripts.ClearSelectedStores(this); _SizePosKeeper = new WndSizePosKeeper(this, StoresPageHelper.WindowParameters.RptLeft, StoresPageHelper.WindowParameters.RptTop, StoresPageHelper.WindowParameters.RptWidth, StoresPageHelper.WindowParameters.RptHeight); _SizePosKeeper.OnLoad(); }
public void ProcessCommand(string cmd, NameValueCollection param) { switch (cmd) { case "SaveWindowSizePos": StoreWindowSize(param["x"], param["y"], param["width"], param["height"]); break; case "PageClose": if (_page_closed) { break; } StoresClientScripts.SendWindowSizePos(_p); _page_closed = true; break; } }
public void OnLoad() { //Восстановление размеров окна var WindowParameterNamesCollection = new StringCollection { _paramX, _paramY, _paramWidth, _paramHeight }; var pageHelper2 = new StoresPageHelper(_p.Request, new AppParamsManager(_p.ClId, WindowParameterNamesCollection)); var isRequired2 = false; var strX = pageHelper2.getParameterValue(_paramX, out isRequired2, "-1"); var strY = pageHelper2.getParameterValue(_paramY, out isRequired2, "-1"); var strWidth = pageHelper2.getParameterValue(_paramWidth, out isRequired2, "640"); var strHeight = pageHelper2.getParameterValue(_paramHeight, out isRequired2, "480"); if (strWidth.ToInt() > 0 && strHeight.ToInt() > 0) { StoresClientScripts.SetWindowSizePos(_p, strX, strY, strWidth, strHeight); } //размеры восстановлены }
/// <summary> /// Метод осуществляет поиск в соответствии с установленными параметрами /// </summary> private void FilterApply() { originalStoresId = null; StoresClientScripts.SendSetInnerHtml(this, "StoreReport", string.Empty); var report_type = sStoreReportType.Value.ToInt(); if (report_type == 0) { return; } //pageBar.SetDisabled(true, false); _table.SqlParams.Clear(); _table.SqlParams.Add("@КодТипаОтчётаПоСкладам", string.IsNullOrEmpty(sStoreReportType.Value) ? DBNull.Value : (object)sStoreReportType.Value); //pageBar.CurrentPageNumber = 1; FilterUpdate(); }
/// <summary> /// Метод устанавливает параметры сортировки и отправляет запрос поиска в БД в соответствии с ранее установленными /// параметрами. /// Отображает или обновляет таблицу с результатами поиска /// </summary> public DataTable Update() { var rowNumber = "-1"; var pageNum = null == _pageBar ? "-1" : _pageBar.CurrentPageNumber.ToString(); var itemsPerPage = null == _pageBar ? "-1" : _pageBar.RowsPerPage.ToString(); var pageCount = "-1"; var strSort = GetSortMode(-1); if (_sqlCmdType == CommandType.StoredProcedure) { SqlParams["@Sort"] = strSort; } var dtStoresResult = DBManager.GetData(sqlCmd, Config.DS_person, _sqlCmdType, SqlParams, null, strSort, string.Empty, null, null, null, ref pageNum, ref itemsPerPage, ref pageCount, out rowNumber); if (null == dtStoresResult) { StoresClientScripts.SendSetInnerHtml(_parentPage, _divId, string.Empty); if (null != _pageBar) { _pageBar.SetDisabled(true, true); } return(null); } if (null != _pageBar) { _pageBar.MaxPageNumber = pageCount.ToInt(); while (_pageBar.MaxPageNumber < _pageBar.CurrentPageNumber) { //Такая ситуация возможна при удалении последней записи на последней странице //Используем --_pageBar.CurrentPageNumber > 0 что избежать бесконечной рекурсии if (--_pageBar.CurrentPageNumber > 0 && _pageBar.CurrentPageNumber <= _pageBar.MaxPageNumber) { return(Update()); } } _pageBar.SetDisabled(dtStoresResult.Rows.Count < 1, false); } var strXmlResult = string.Empty; using (var writer = new StringWriter()) //warning : CA2000 : Microsoft.Reliability { dtStoresResult.WriteXml(writer); strXmlResult = writer.ToString(); } var xslt = new XslCompiledTransform(); xslt.Load(_parentPage.Server.MapPath(_template)); var argsList = new XsltArgumentList(); var ed = new EmpoyeeData(_parentPage); argsList.AddExtensionObject("urn:kesco-stores-person", ed); if (_parentPage.ReturnId == "1") { argsList.AddParam("return_id", "", true); } if (null == _pageBar) { argsList.AddParam("total_count", "", dtStoresResult.Rows.Count); argsList.AddParam("current_page", "", 1); argsList.AddParam("page_size", "", dtStoresResult.Rows.Count); } else { argsList.AddParam("total_count", "", rowNumber); argsList.AddParam("current_page", "", _pageBar.CurrentPageNumber); argsList.AddParam("page_size", "", _pageBar.RowsPerPage); } using (var sreader = new StringReader(strXmlResult)) //warning : CA2000 : Microsoft.Reliability { var xreader = new XmlTextReader(sreader); using (var swriter = new StringWriter()) //warning : CA2000 : Microsoft.Reliability { var xwriter = new XmlTextWriter(swriter); xslt.Transform(xreader, argsList, xwriter); StoresClientScripts.SendSetInnerHtml(_parentPage, _divId, swriter.ToString()); //_parentCtrl.Value = swriter.ToString(); } } //Таблицу необходимо перерисовать в любом случае (возможно она была отображена с другими стилями) //При изменении содержимого элементов из JavaScript (изменили аттрибут class) серверные значения Value //остаются неизменными, что приводит к неправильному определению изменения содержимого элемента //Но !!! При выполнении какой-либо следующей команды, все изменения сделанные на стороне клиента будут отменены... //_parentCtrl.SetPropertyChanged("Value"); return(dtStoresResult); }