21
21
object defaultValue = this .GetGriddlyDefault (filter .Field );
22
22
object defaultValueEnd = filterRange != null ? this .GetGriddlyDefault (filterRange .FieldEnd ) : null ;
23
23
24
- <div class =" griddly-filter-form-group form-group form-group-sm" >
24
+ <div class =" griddly-filter-form-group form-group form-group-sm"
25
+ data-filter-name =" @filter.Caption" data-filter-name-plural =" @filter.CaptionPlural"
26
+ data-filter-datatype =" @filter.DataType.ToString()"
27
+ @Html.AttributeIf( " data-griddly-filter-ismultiple" , filterList ! = null, x => filterList .IsMultiple .ToString ().ToLower ())
28
+ @Html.AttributeIf( " data-griddly-filter-isnoneall" , filterList != null , x => filterList .IsNoneAll .ToString ().ToLower ())
29
+ @Html.AttributeIf( " data-griddly-filter-isnullable" , filterList != null , x => filterList .IsNullable .ToString ().ToLower ())
30
+ @Html.AttributeIf( " data-griddly-filter-displayitemcount" , filterList != null , x => filterList .DisplayItemCount )>
25
31
<
label for =
" [email protected] " class =
" col-sm-2 control-label" >
@filter.Caption </
label >
26
32
@if (filterBox != null )
27
33
{
107
113
filterList .SetSelectedItems (defaultValue );
108
114
109
115
<div class =" col-sm-3" >
110
- <
select class =
" form-control col-sm-3" id =
" [email protected] " name =
" @filter.Field" @(filterList.IsMultiple ? " multiple" : null)
111
- data-griddly-filter-data-type =" @filter.DataType" >
116
+ <
select class =
" form-control col-sm-3" id =
" [email protected] " name =
" @filter.Field" @(filterList.IsMultiple ? " multiple" : null) >
112
117
@foreach ( SelectListItem item in filterList .Items )
113
118
{
114
- <option value =" @item.Value" @(item.Selected ? " selected" : null) >@item.Text </option >
119
+ SelectListItemGroup group = item as SelectListItemGroup ;
120
+
121
+ if (group != null )
122
+ {
123
+ < optgroup label = " @group.Text" >
124
+ @foreach (SelectListItem childItem in group .Items )
125
+ {
126
+ @RenderListItem (childItem )
127
+ }
128
+ < / optgroup >
129
+ }
130
+ else
131
+ {
132
+ @RenderListItem(item)
133
+ }
115
134
}
116
135
</select >
117
136
</div >
123
142
</div >
124
143
}
125
144
</div >
145
+ }
146
+
147
+ @helper RenderListItem(SelectListItem item)
148
+ {
149
+ <option value =" @item.Value" @(item.Selected ? " selected" : null) >@item.Text </option >
126
150
}
0 commit comments