Как получить количество записей с Page.DataSource.Rows.Count

Всегда отображает Page.DataSource.Rows.Count 41 записей с итерфейса видно что она больше 41 записей, как получить количество всех записей?

Нравится

4 комментария

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу

Здравствуйте, Баглан!
А корректно ли выводится количество записей в строке итогов?

фильтрую следующим образом, ниже код:

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;
Показать все комментарии