Языки программирования > WEB-Расширение для "1С:Предприятие 8.0, 8.1" (v8)
Выбор значения из выпадающего списка
iPRG Team:
--- Цитата: DaMa от 23 Июль 2009 Четверг 18:38:28 ---А удобно было бы если не было необходимости нажимать на кнопку выбора для вызова отдельного окна справочника, а начинать заполнять прям в поле ввода табличной части. И еще при данном фильтре не раскрывается иерархия.
--- Конец цитаты ---
Я не совсем понял, вы про какой метод говорите(про то что не раскрывается иерархия), про тот, что я написал или про тот что у вас на картинке?
DaMa:
Да!! Для заполнения контрагентов очень хороший вариант! Спасибо!
А что касается заполнения в табличной части документа, например, номенклатуры, то это не совсем удобно. А удобно было бы если не было необходимости нажимать на кнопку выбора для вызова отдельного окна справочника, а начинать заполнять прям в поле ввода табличной части. И еще при данном фильтре не раскрывается иерархия.
Дело может быть и в самом свойстве фильтра?
И как же достичь желаемого результата? (см. рисунок)
iPRG Team:
Создаем новую форму: Website \ Add New Item \ V8 List Form
Назовем форму: V8WebListForm_Kontr.aspx
Добавляем на форму два объекта: Label и TextBox (см. рисунок)
Для TextBox добавляем событие TextChanged:
--- Код: ---protected void TextBox1_TextChanged(object sender, EventArgs e)
{
V8Filter filter = null;
filter = ListDataSource.Filter["Наименование"];
filter.Checked = true;
filter.Condition = V8FilterCondition.Contains;
filter.ValueType1 = ListDataSource.Metadata.TypesInfo["string"];
filter.Value1 = TextBox1.Text;
filter.Visible = true;
Grid.Refresh();
}
--- Конец кода ---
Тип фильтра можно настроить тут: V8FilterCondition.Contains;
В данном случае фильтр отбирает элементы в которых присутствуют символы из TextBox1.Text
Что бы созданная наша новая форма отображалась вместо стандартной формы WEB-расширения, откроем файл из нашего проекта TableFormMap.xml и проверим, что в нем присутствуют следующие строки:
--- Код: --- <table name="Справочник.Контрагенты">
<form type="List">V8WebListForm_Kontr.aspx</form>
<form type="Select">V8WebListForm_Kontr.aspx</form>
</table>
--- Конец кода ---
Если каких то из этих строк нет, добавляем их.
Бывает, что после исправления файла TableFormMap.xml, сразу не применяются наши изменения, тогда просто сохраним наш проект, закроем его и откроем его опять, после этого все должно работать.
DaMa:
Этот фильтр вполне подойдет! Напишите пожалуйста!
iPRG Team:
Я например делал для справочника контрагенты похожее, т.к. когда контрагентов очень много, вибирать из списка проблематично.
Я добавил в форму выбора контрагента поле "Фильтр по наименованию", после ввода символов в это поле и нажатию на Enter применяется фильтр и отображаются в текущей форме только те контрагенты у которые встречаются в наименовании введенные мною символы, это оказалось даже удобнее для поиска контрагентов чем поиск по первым символам при быстром поиске. Если вы про это, могу подробней написать как это сделать.
Навигация
Перейти к полной версии