RUS  ENG 

hramm (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Добавление тематических фильтров ThemeFilterDesc
 
Добрай день.
Используется под NET. (использование только через COM)
Задача следующая:
1. Создание нового слоя.
2. Создание БД для слоя. (поля Sys и Val)
3. Добавление на него объектов.
4. Создание тематической раскраски объектов, привязывая к полю Val.
Шаги 1-4 не вызывают проблем
1. ZuluTools t = new ZuluToolsClass();
  Layer     l = new LayerClass();
  t.LayerCreate(@"d:\test\MyLayer.b00", "Test", eLayerType.eMixedLayer);
  l.Open(@"d:\test\MyLayer.b00");
2.
  ZbDatabase zb = new ZbDatabaseClass();
  zb.CreateTable(@"d:\test\MyLayer.db",
               new string[] { "Sys", "Val" },
               new zbFieldType[] { zbFieldType.zbftInteger, zbFieldType.zbftInteger },
               new int[] { 0, 0 }, 1);
  zb.CreateBySingleTable(@"d:\test\MyLayer.db");
  zb.UserName = "NameBD";
  zb.SaveAs(@"d:\test\MyLayer.zb", 0);
  l.BaseName = zb.Name;
3.
  ....
  Добавление объектов на слой и данных в базу
  ....
  t.LayerOptimize(@"d:\test\MyLayer.b00");

далее необходимо добавить фильтры и сделать их активными
Через Theme получилось но цитирую

Parameter property (Theme):
   Property Parameter(ElemID As Long, Field As eThemeField)
       ElemID - ключ элемента слоя         // Мне же необходимо привязатся не по ключу
       Field - тип редактируемого поля"

Поэтому необходимо использовать фильтры

  ThemeFilterDesc filter = new ThemeFilterDescClass();
  filter.UserName = "TestFilter";
  int idc = filter.AddCondition("h" + i.ToString(), 1);
  filter.AddField(idc, "Val", ???????????);       // Нет описания каким должен быть параметр ConditionString
  filter.AddParameter(idc, eThemeField.eThemePatColor, 255);
  filter.AddParameter(idc, eThemeField.eThemeFillStyle, 2);
  l.ThemeFilters.SetFilter(1, filter);

что дальше???
layer.BaseName почему не устанавливается?
 
Выкачал последнее обновление ...
Все заработало ..
Только пока не разобрался почему тематическая раскраска пропала..
layer.BaseName почему не устанавливается?
 
Таже проблема.
Использую C#.
База создается .. но не подключается к слою.
...
Требуется для того, чтобы при экспортировании в (mif) правильно создались описатели линий.
Страницы: 1