ArcObjects, зависимый ComboBox

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
HomBro
Интересующийся
Сообщения: 31
Зарегистрирован: 25 ноя 2017, 20:31
Репутация: 1
Откуда: Уфа

ArcObjects, зависимый ComboBox

Сообщение HomBro » 10 май 2019, 19:19

В общем вопрос в дополнение к моему предыдущему. В предыдущем я спрашивал, как получить имя слоя и его тип, теперь же мне надо в ещё один комбобокс вывести столбцы из таблицы, поэтому один комбобокс будет зависим от другого, то есть я в одном выбираю таблицу, в другом должны добавиться имена полей из этой таблицы, нашёл уроки, где подобное реализовано, но там VB, так что не очень понятно, как это сделать на C#, уроки с канала IGeometry.

wladfm
Участник
Сообщения: 61
Зарегистрирован: 04 июл 2016, 16:02
Репутация: 8

Re: ArcObjects, зависимый ComboBox

Сообщение wladfm » 11 май 2019, 08:20

Необходимо к комбобоксу добавить событие change. По хорошему в первом комбобоксе можно хранить список объектов (свой класс с именем и объектом таблицы). Ну а дальше что выбрано из того и определяем список полей

HomBro
Интересующийся
Сообщения: 31
Зарегистрирован: 25 ноя 2017, 20:31
Репутация: 1
Откуда: Уфа

Re: ArcObjects, зависимый ComboBox

Сообщение HomBro » 22 май 2019, 19:03

wladfm, чтобы не плодить новые темы, спрошу тут. Я получаю значения из таблицы по одному столбцу, как сделать, чтобы не было дублирующихся значений? Писать свой алгоритм, для того, чтобы избавиться от дублирующихся значений или же подобный функционал есть в arcobjects? Я пробовал изменять второй параметр в методе ITable.Search, я почему то из перевода понял, что он за это и отвечает, но результат никак не меняется

wladfm
Участник
Сообщения: 61
Зарегистрирован: 04 июл 2016, 16:02
Репутация: 8

Re: ArcObjects, зависимый ComboBox

Сообщение wladfm » 23 май 2019, 09:50

Второй параметр - это не то, что Вы думаете. Способов получения уникальных значений несколько и зависят они от условий задания. Простейшее - это в запросе, сложнее (и более затратное на ресурсы) - это лист и каждый раз поиск по листу. Просто ITable.Search возвращает курсор, а не таблицу. И самое главное - не забывайте убивать курсор после использования

HomBro
Интересующийся
Сообщения: 31
Зарегистрирован: 25 ноя 2017, 20:31
Репутация: 1
Откуда: Уфа

Re: ArcObjects, зависимый ComboBox

Сообщение HomBro » 23 май 2019, 18:10

wladfm, глупый вопрос, а как его убить, в питоне когда работал с базами данных, курсор сбрасывался командой commit, тут что то аналога не нашёл

wladfm
Участник
Сообщения: 61
Зарегистрирован: 04 июл 2016, 16:02
Репутация: 8

Re: ArcObjects, зависимый ComboBox

Сообщение wladfm » 24 май 2019, 10:24

Для C#
Marshal.ReleaseComObject(Cursor);

HomBro
Интересующийся
Сообщения: 31
Зарегистрирован: 25 ноя 2017, 20:31
Репутация: 1
Откуда: Уфа

Re: ArcObjects, зависимый ComboBox

Сообщение HomBro » 29 май 2019, 17:23

wladfm, и последний, надеюсь, вопрос по ArcObject'у, надо преобразовать растр в полигоны, нашёл IConversionOp, передаю в него растровый слой приведенный к IGeoDataset, рабочее пространство пустое, просто определяю его, но не задаю значение(IWorkspace pWS), строку с именем шейпа и последний параметр false, но вылетает ошибка, уже что только не пробовал, и проебразовать слой в IRasterLayer и только потом в IGeoDataset и всё равно ничего, что не так? И да, объекту типа IConversionOp присваиваю new RasterConversionOpClass().

wladfm
Участник
Сообщения: 61
Зарегистрирован: 04 июл 2016, 16:02
Репутация: 8

Re: ArcObjects, зависимый ComboBox

Сообщение wladfm » 31 май 2019, 09:22

Не работал с IConversionOp, но по хэлпу необходимо рабочее пространство. Покажите свой код, тогда более точнее скажу что не так. Можно в личку, если есть стеснение :)

HomBro
Интересующийся
Сообщения: 31
Зарегистрирован: 25 ноя 2017, 20:31
Репутация: 1
Откуда: Уфа

Re: ArcObjects, зависимый ComboBox

Сообщение HomBro » 01 июн 2019, 13:23

wladfm, всё, проблема была в растре, попробовал на другом и всё сработало

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость