Я пытаюсь создать фильтр для моего GridView. Фильтр работает нормально, но если я затем выберу столбец отфильтрованного GridView, вся страница обновится ...
Здесь мой FilterCode:
protected void Filter_Berechtigung_DB_SelectedIndexChanged(object sender, EventArgs e)
{
List<User> ll_UserList = new List<User>();
foreach (var User in ReadZugriff())
{
if (User.Berechtigung.Contains(Filter_Berechtigung_DB.SelectedItem.Value))
{
ll_UserList.Add(User);
}
}
// Läd die gefilterten Infos in das Datagrid
LoadData(ll_UserList);
}
Здесь мои LoadData:
private void LoadData(List<User> ll_UserList)
{
UserTable.DataSource = ll_UserList;
UserTable.DataBind();
}
Я вызываю метод LoadData один раз в начале загрузки страницы
Здесь мой SelectedIndexChanged:
protected void UserTable_SelectedIndexChanged(object sender, EventArgs e)
{
var lv_Index = UserTable.SelectedIndex;
UserTable.Rows[lv_Index].Style[HtmlTextWriterStyle.BackgroundColor] = "lightgray";
}
Здесь мой GridView и используемые кнопки:
<div style="float: left">
<ul>
<li style="float: left; margin-right: 5px">Berechtigung:
</li>
<li style="float: left">
<asp:DropDownList Style="height: 25px; width: 100px; font-size: 12px; margin-top: -2px" ID="Filter_Berechtigung_DB" runat="server" AutoPostBack="True" OnSelectedIndexChanged="Filter_Berechtigung_DB_SelectedIndexChanged">
<asp:ListItem Text="" />
</asp:DropDownList>
</li>
</ul>
</div>
<asp:GridView ID="UserTable" runat="server" AutoGenerateColumns="False" Width="100%" CssClass="table table-striped table-bordered" OnSelectedIndexChanged="UserTable_SelectedIndexChanged" CellPadding="4" CellSpacing="2" ForeColor="Black">
<Columns>
<asp:BoundField HeaderText="" DataField="">
<ItemStyle Font-Names="Arial" ForeColor="Black" />
</asp:BoundField>
<asp:CommandField ShowSelectButton="True" />
</Columns>
<HeaderStyle BackColor="lightgray" ForeColor="Black" />
<RowStyle CssClass="TableItemHover" BackColor="White"></RowStyle>
<SelectedRowStyle BackColor="gray" Font-Bold="True" ForeColor="Black" />
</asp:GridView>
Спасибо за помощь! Я надеюсь, что этой информации достаточно для решения задачи.