Вопрос

Как сделать регистронезависимое сравнение значений колонок?

var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "EDOSystem");

var edoSystemIdColumn = esq.AddColumn("Id");

esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", "SomeVAlue"));

Как можно сделать подобный фильтр по колонке Name без учитывания регистра?

 

Нравится

1 комментарий

А найти записи по другому условию не выйдет?

Там же не одно поле, может есть какие то связи вввиде справочников . которые на странице

 

 

Ну стандартного типа я не нашел для сравнения без регистра, но наверное вы можеет создать группу фильтров

var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
	rootSchemaName: "qrtEventAddRule"
});
esq.addColumn("qrtEventShipping.Id", "idEvent");
 
 
 
var filterGroup1 = Ext.create("Terrasoft.FilterGroup");
var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", value);
filterGroup1.add("qrtIsInsuranceTrue", esqSecondFilter);
 
var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "qrtService", value.toLowerCase());
filterGroup2.add("esqFirstFilter", esqFirstFilter);	
filterGroup2.logicalOperation = Terrasoft.LogicalOperatorType.OR;
 
esq.filters.add("1",filterGroup1);
}

Я не уверен но можно посмотреть также в сторону CONTAINS. он может без регистра сравнивает

 

самый извращенный и долгий вариант это написать в теле выборки свой фильтр и пройтись по все записям

 

// Определение конфигурационного объекта.
				var config = {
					// Название схемы сущности.
					entitySchemaName: "Contact",
					// Убирать дубли в результирующем наборе данных.
					isDistinct: true
				};
				// Получение данных.
				Terrasoft.DataManager.select(config, function (collection) {
					// Сохранение полученных записей в локальное хранилище.
					collection.each(function (item) {
                       //тут пишешь свое условие
						//this.console.log(item.viewModel.values)//поля записи
						Terrasoft.DataManager.addItem(item);
					});
				}, this);

 

Показать все комментарии