Как получить количество записей с Page.DataSource.Rows.Count
Всегда отображает Page.DataSource.Rows.Count 41 записей с итерфейса видно что она больше 41 записей, как получить количество всех записей?
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу
Здравствуйте, Баглан!
А корректно ли выводится количество записей в строке итогов?
фильтрую следующим образом, ниже код:
[csharp]
var limitStartDate = (DateTime)Page.StartDateTimeEdit.Value;
var limitDueDate = (DateTime)Page.EndDateTimeEdit.Value;
if ((limitStartDate != DateTime.MinValue) && (limitDueDate != DateTime.MinValue)) {
List ParentContractList = (List)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 AddContractList = new List();
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;
[/csharp]
другой кнопкой сажаю в таблицу, ниже код
[csharp]
List AddContractList = (List)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;
[/csharp]
получается что бере не весь запись, на интерфейсе в сторке итогов показывает правильно
Баглан, попробуйте на PageLoadComplete прописать:
[csharp]
Page.DataSource.PageRowsCount = -1;
[/csharp]