+ Добавить пост
Всегда отображает Page.DataSource.Rows.Count 41 записей с итерфейса видно что она больше 41 записей, как получить количество всех записей?
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу
Здравствуйте, Баглан! А корректно ли выводится количество записей в строке итогов?
фильтрую следующим образом, ниже код:
var limitStartDate = (DateTime)Page.StartDateTimeEdit.Value; var limitDueDate = (DateTime)Page.EndDateTimeEdit.Value; if ((limitStartDate != DateTime.MinValue) && (limitDueDate != DateTime.MinValue)) { List<Guid> ParentContractList = (List<Guid>)objParentContractList; DataSource dataSource = Page.DataSource; var moduleFilters = dataSource.CurrentStructure.Filters.FindByName("ModuleFilters") as DataSourceFilterCollection; if (moduleFilters != null) { dataSource.CurrentStructure.Filters.Remove(moduleFilters); } moduleFilters = dataSource.CurrentStructure.CreateFiltersGroup("ModuleFilters", LogicalOperationStrict.And); var contractFilter = new DataSourceFilterCollection() { LogicalOperation = LogicalOperationStrict.Or, }; foreach (Guid parentContractsRow in ParentContractList) { contractFilter.Add(dataSource.CreateFilterWithParameters(FilterComparisonType.Equal, "ParentContract", parentContractsRow)); } moduleFilters.Add(contractFilter); moduleFilters.Add(dataSource.CreateFilterWithParameters(FilterComparisonType.Between,"StartDate", limitStartDate, limitDueDate)); dataSource.CurrentStructure.Filters.Add(moduleFilters); dataSource.LoadRows(); List<Guid> AddContractList = new List<Guid>(); foreach (var row in Page.DataSource.Rows) { Guid RowContractId = (Guid)row.GetColumnValue("Id"); AddContractList.Add(RowContractId); } objAddContractList = AddContractList; if(Page.DataSource.Rows.Count > 0) { Page.AddTranshButton.Enabled = true; } Page.TreeGrid.RefreshData(); } return true;
другой кнопкой сажаю в таблицу, ниже код
List<Guid> AddContractList = (List<Guid>)objAddContractList; foreach (var RowContractId in AddContractList) { var entitySchemaManager = UserConnection.GetSchemaManager("EntitySchemaManager") as EntitySchemaManager; EntitySchema transhSchema = entitySchemaManager.GetInstanceByName("MonitorUsageAttTranches"); Entity monitorAttTranches = transhSchema.CreateEntity(UserConnection); monitorAttTranches.SetDefColumnValues(); monitorAttTranches.SetColumnValue("ContractId", RowContractId); monitorAttTranches.SetColumnValue("ParentContractId", CurrentContractId); monitorAttTranches.SetColumnValue("SessionUId", SessionId); monitorAttTranches.Save(); } if(AddContractList.Count > 0) { Page.ButtonOK.Enabled = true; } return true;
получается что бере не весь запись, на интерфейсе в сторке итогов показывает правильно
Баглан, попробуйте на PageLoadComplete прописать:
Page.DataSource.PageRowsCount = -1;