Если вдруг вам потребовалось сделать фильтрацию данных в стандартном ASP.NET контроле GridView, то не спешите расстраиваться и смотреть в сторону всякий телериков. Все можно сделать своими руками. Получится примерно так:
Итак, вот что нужно сделать для того, чтобы получить такой результат. Во первых, создать GridView и объявить колонку, по которой будете фильтровать как TemplateField.
<asp:gridview autogeneratecolumns="False" cellpadding="4" forecolor="#333333" gridlines="None" id="ListGrid" runat="server">
<columns>
<asp:boundfield datafield="Name" headertext="Название">
<asp:templatefield headertext="Тип Записи">
<headertemplate>
Тип Записи:
<asp:dropdownlist autopostback="True" id="typeSelect" onselectedindexchanged="typeSelect_SelectedIndexChanged" runat="server">
<asp:listitem text="Все" value="All"></asp:listitem>
<asp:listitem text="Автомобили" value="1"></asp:listitem>
<asp:listitem text="Самолеты" value="2"></asp:listitem>
<asp:listitem text="Мотоциклы" value="3"></asp:listitem>
</asp:dropdownlist>
</headertemplate>
<itemtemplate>
<#Eval("Type")>
</itemtemplate>
<itemstyle horizontalalign="Center">
</itemstyle></asp:templatefield>
</asp:boundfield>
</columns>
</asp:gridview>
Для простоты будем связывать нашу таблицу со списком вот таких вот элементов:
public class Machine
{
public string Name { get; set; }
public string Type { get; set; }
public Machine(string _name, string _type)
{
Name = _name;
Type = _type;
}
}