Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по PropertyGrid

51K
01 сентября 2009 года
Long2010
5 / / 01.09.2009
Посоветуйте. Есть два свойства Property1 и Property2, Свойство Property1 в виде редактора колекции строк - для простых SQL скриптов, как реализовать так, чтобы после занесения скрипта в редакторе Property1 в Property2(в виде ComboBox) сформировался список названий полей?
5
01 сентября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Long2010
Посоветуйте. Есть два свойства Property1 и Property2, Свойство Property1 в виде редактора колекции строк - для простых SQL скриптов, как реализовать так, чтобы после занесения скрипта в редакторе Property1 в Property2(в виде ComboBox) сформировался список названий полей?


Если сервер - MSSqlServer, то можно выполнить SQL-команду (создать экзмемпляр SqlCommand, выполнить метод Execute) с параметром CommandBehavior.SchemaOnly, но для этого, нужно иметь активное подключение к БД. Результатом будет DataReader с набором столбцов.

Если хочется совершенной независимости, то, наверно стоит попробовать написать парсер, основываясь на стандарте SQL (т.е. выцеплять только SELECT-предложение) - готовых решений не знаю. Я бы использовал Coco/R для его автоматического генерирования.

51K
03 сентября 2009 года
Long2010
5 / / 01.09.2009
Цитата: hardcase
Если сервер - MSSqlServer, то можно выполнить SQL-команду (создать экзмемпляр SqlCommand, выполнить метод Execute) с параметром CommandBehavior.SchemaOnly, но для этого, нужно иметь активное подключение к БД. Результатом будет DataReader с набором столбцов.




Спосибо за совет hardcase!!! С DataReader мне подошло, список полей формируется, непонятно только на какое событие выполнить метод Execute после занесения скрипта в редактор колекции строк?

5
03 сентября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Long2010
непонятно только на какое событие выполнить метод Execute после занесения скрипта в редактор колекции строк?


Можно и так, но можно и сделать с небольшой задержкой (300-500 мс, понятно что запрос будет выполняться в отдельном потоке) - на случай если текст (свойство) по какойто причине будет несколько раз меняться (пользователь несколько раз сохранил).

51K
22 сентября 2009 года
Long2010
5 / / 01.09.2009
Сори hardcase, Я немножко неправильно объяснил!!! Мне не получается реализовать именно само событие, тоесть я вставляю текст, после чего должен выполнится метод Execute, но выполнить не удается!!
5
22 сентября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Long2010
Сори hardcase, Я немножко неправильно объяснил!!! Мне не получается реализовать именно само событие, тоесть я вставляю текст, после чего должен выполнится метод Execute, но выполнить не удается!!


На событии изменения текста запускается внутренний таймер (timer1.Enabled = true), по истечении которого (событие OnTimer) выполняется метод Execute, после этого таймер сам останавливается (timer1.Enabled = false).

51K
22 сентября 2009 года
Long2010
5 / / 01.09.2009
С етим понятно, а где само событие? Текст я меняю в редакторе колекции строк, но как вызвать событие изменения текста в етом редакторе? Есть событие PropertyValueChanged в самом PropertyGrid, но так немножко не подходит. А как можно использовать события самого редактора колекции строк?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог