Тут явно все дело именно в том источнике, который выбирается для фильтра. (Это так правильно называется. Позиционирование - это совсем другая тема)
Так как парсер опирается на таблицу, которая находится в QueryBuildDataSource при наложении фильтра, то в метод addRange вы передаете только номер поля (как у вас реализовано). Но из-за того, что таблица на самом деле не та, берется ее поле с этим номером - соостветственно получаете левое поле.
А вообще, вместо такой фильтрации может попробовали бы использовать динамические связи? (Dynalink)? Тут и программировать не пришлось бы. Только настроить отношения между таблицами. Хотя, Вам решать
|