Но, раз уж я последнее время активно осваиваю C# и написание на нем веб-частей, создание веб-части для отображения результата запроса показалось простой задачей. И началось...
Во-первых, отображать просто результат запроса - это малофункционально. Как правило, необходимо запросу передать ряд параметров, самых разных. Как это сделать?
Во-вторых, если на входе будут параметры, то как описать какие, где хранить эту информацию и т.п.
В итоге, к веб-части сформулировались следующие требования:
- возможность выбора или ввода параметров переменного количества;
- возможность для параметров типа выпадающий список указывать запрос для заполнения значений;
- отображать результат основного запроса в виде таблицы;
- шапка таблицы должна содержать наименования полей.
В результате, весь код веб-части свелся к созданию трех функций: разобрать параметры, заполнить списки значений параметров, заполнить таблицу результата.
Особое внимание пришлось уделить обновлению значений параметров и таблицы результата в процессе изменения значений самих параметров. Ведь изменяя, скажем, значение первого параметра, велика вероятность того, что второй параметр должен иметь уже другой список доступных значений. Передача значения первого параметра второму осуществляется с помощью оператора {n}, где n - номер параметра по порядку.
В итоге, веб-часть уже сейчас применена в двух случаях:
1. Отображение сводной таблицы объектов проектирования, которая востребована при подготовке тендерной документации.
2. Отбражение сводной таблицы посещаемости сотрудника за выбранный период.
А чтобы совсем было удобно работать, прикрутил возможность экспорта результата выборки в Excel.
Преимущества веб-части:
1. Бесплатно.
2. Полная custom'изация.
Недостатки веб-части:
1. Пока нет возможности связать веб-часть с другими веб-частями, т.е. она не может являться как источником, так и приемником для других веб-частей.
Установка веб-части AlxdSQLWebPart осуществляется с помощью bat'ника setup.bat с ключом -i. Удаление - ключ -u.
В архиве есть примеры XML и CSS файлов. Разумеется, выборки, которые в XML файле указаны не будут возвращать корректного результата, т.к. ориентированы на базы данных ЗАО "Тюменьнефтегазпроект". Однако приложенные XML файлы являются отличным примером настройки веб-части.
Если при использовании веб-части возникнут проблемы, пишите...
18.01.2011 Обновил zip файл. Исправил досадные ошибки и добавил возможность создания DateBox. Он как TextBox, только не поддерживает [me]. Позже приделаю DatePicker.
А будет ли в перспективе обработка передачи и приема информации от других форм ?
ОтветитьУдалитьОчень помогло бы) На данный момент разрабатываю систему по поиску тел. номеров, е-мейлов и прочей информации из БД сиквела, попробую пока что на вашей веб-части (за нее отдельное спасибо)
В принципе такая мысль была, т.е. сделать так, чтобы можно было выбрать одну из записей и передать ее в любую другую веб-часть, но пока банально не хватает времени на ее развитие. :(
ОтветитьУдалитьОчень надеюсь что ваша работа получит дальнейшее развитие. Перешерстил инет на наличие толковых готовых решений по созданию на основе сиквельной БД справочника сотрудников под шарик - есть много и интересных, но они все платные, даже самые пошлые из них. Чисто технически, хотелось бы возможность работать с выборками как с сылками на какой нибудь лист, или форму.. дабы не вываливать ненужную многим инфу в одну табличку, если это реально - с нетерпением жду реализации этой функции :)
ОтветитьУдалитьДа, тема хорошая.
ОтветитьУдалитьТолько не понятно до конца, что же все таки нужно сделать.
Подсуну завтра программисту.