1
У меня есть RadGrid, у которого есть FilterTemplate с помощью RadComboBox. Когда я загружаю данные в RadGrid, я хочу показать данные, отфильтрованные пользователем. Вот моя колонка:Фильтрация данных при загрузке в RadGrid FilterTemplate
<telerik:GridTemplateColumn FilterControlAltText="Filter tclmArrangement column"
HeaderText="Arrangement" UniqueName="tclmArrangement" DefaultInsertValue="-"
DataField="IsDemoAssigned">
<HeaderStyle Width="2%" />
<ItemTemplate>
<asp:Repeater ID="rptchkarrangement" runat="server"
DataSource='<%# IIf(DataBinder.Eval(Container, "DataItem.IsDEmoAssigned") = 0,
DataBinder.Eval(Container, "DataItem.Employees"), Nothing)%> '>
<ItemTemplate>
<table>
<tr class="clsParent">
<input type="checkbox" class="clsEmployee" id="cbSelect"
checked='<%# DataBinder.Eval(Container, "DataItem.IsAssigned")%>'
runat="server" />
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
<FilterTemplate>
<telerik:RadComboBox ID="RadComboBoxAssignmentStatus" Height="80px" Width="80px"
AppendDataBoundItems="true" runat="server"
OnClientSelectedIndexChanged="AssignmentStatusIndexChanged">
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="rsbAssignmentStatus" runat="server">
<script type="text/javascript">
function AssignmentStatusIndexChanged(sender, args) {
var tableView = $find("<%# TryCast(Container,GridItem)
.OwnerTableView.ClientID %>");
var selectedValue = sender.get_value();
if (selectedValue) {
if (parseInt(selectedValue) < 0) {
tableView.filter("tclmArrangement", selectedValue, "NoFilter");
}
else {
tableView.filter("tclmArrangement", selectedValue, "EqualTo");
}
}
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridTemplateColumn>
Фильтр отлично работает, когда полные данные отображаются первоначально с использованием опции «Все». Фильтр имеет значения (All, Assigned и UnAssigned). Как показать данные в RadGrid, который относится к категории UnAssigned?
Просто интересно, действительно ли вы нужен ретранслятор в RadGrid? Основываясь на моем понимании, вы хотите отфильтровать эти флажки, не отмеченные в репитере. Во всяком случае, вы отсутствуете
ответ
Эта ссылка помогли мне.
http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/filtering/how-to/apply-default-filter-on-initial-load
Одна вещь, которая не указана в ссылке, чтобы установить «EnableLinqExpression = ложь»
Я решил взять «Установка начального фильтра в коде-за» подход. Выражения фильтра могут быть сформированы следующим образом.
http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/filtering/how-to/operate-with-the-filterexpression-manually
источник
2015-10-09 06:10:07
Не уверен, что это то, что вы хотите, но я фильтрую через GridTemplateColumn DataFields. Я удалил ретранслятор.
Я надеюсь, что это поможет вам
.aspx
.cs
источник
2015-10-09 02:00:38 Nic
Смежные вопросы