SearchKit 8.6.0
See the version list below for details.
dotnet add package SearchKit --version 8.6.0
NuGet\Install-Package SearchKit -Version 8.6.0
<PackageReference Include="SearchKit" Version="8.6.0" />
<PackageVersion Include="SearchKit" Version="8.6.0" />
<PackageReference Include="SearchKit" />
paket add SearchKit --version 8.6.0
#r "nuget: SearchKit, 8.6.0"
#:package SearchKit@8.6.0
#addin nuget:?package=SearchKit&version=8.6.0
#tool nuget:?package=SearchKit&version=8.6.0
SearchKit
Панель поиска и фильтрации для DataGridView с автоматическим определением типов столбцов. Числовые столбцы получают фильтр по диапазону, столбцы с датами — выбор периода, текстовые — поиск по подстроке.
Установка
dotnet add package SearchKit
Справочник API
Класс SearchPanel
SearchPanel.AttachTo (все столбцы)
public static SearchPanel AttachTo(DataGridView grid)
Присоединяет панель поиска к DataGridView. Автоматически создает фильтры для всех столбцов источника данных. Панель размещается над таблицей в родительском контейнере.
Включает глобальное поле поиска (ищет по всем столбцам одновременно) и кнопку «Сбросить».
Параметры:
grid— таблицаDataGridViewс привязанным источником данных (DataTable,BindingSourceилиDataView).
Возвращает: экземпляр SearchPanel.
SearchPanel.AttachTo (указанные столбцы)
public static SearchPanel AttachTo(DataGridView grid, params string[] columns)
Присоединяет панель поиска к DataGridView с фильтрами только для указанных столбцов. Глобальный поиск и кнопка сброса также включены.
Параметры:
grid— таблицаDataGridViewс привязанным источником данных.columns— имена столбцов, для которых создаются индивидуальные фильтры.
Возвращает: экземпляр SearchPanel.
Умное определение типов
SearchPanel анализирует тип данных каждого столбца из DataTable и автоматически выбирает подходящий элемент управления для фильтрации:
| Тип столбца | Элемент фильтра | Описание |
|---|---|---|
string |
TextBox |
Поиск по подстроке (LIKE) |
int, long, short, byte |
Два NumericUpDown (от — до) |
Фильтр по целочисленному диапазону (0 знаков после запятой) |
decimal, double, float |
Два NumericUpDown (от — до) |
Фильтр по числовому диапазону (2 знака после запятой) |
DateTime |
Два DateTimePicker (от — до) |
Фильтр по периоду дат. По умолчанию: год назад — год вперед |
Дополнительные возможности:
- Глобальное поле поиска фильтрует по всем столбцам одновременно (преобразует значения в строку).
- Все фильтры объединяются логикой AND (все условия должны совпадать).
- Кнопка «Сбросить» очищает все фильтры и возвращает полное отображение данных.
- Поддерживаются источники данных:
DataTable,BindingSource,DataView.
Примеры использования
Пример 1: Туристическое агентство — каталог туров
using SearchKit;
// Таблица с турами: название (string), страна (string), цена (decimal), дата вылета (DateTime)
var table = new DataTable();
table.Columns.Add("Название", typeof(string));
table.Columns.Add("Страна", typeof(string));
table.Columns.Add("Цена", typeof(decimal));
table.Columns.Add("Дата вылета", typeof(DateTime));
// Заполнение данными...
dataGridView1.DataSource = table;
// Панель автоматически создаст:
// - текстовые фильтры для "Название" и "Страна"
// - числовой диапазон (от-до) для "Цена" с 2 знаками после запятой
// - выбор периода дат для "Дата вылета"
SearchPanel.AttachTo(dataGridView1);
Пример 2: Складской учет — фильтрация по выбранным столбцам
using SearchKit;
var table = new DataTable();
table.Columns.Add("Артикул", typeof(string));
table.Columns.Add("Наименование", typeof(string));
table.Columns.Add("Количество", typeof(int));
table.Columns.Add("Цена", typeof(decimal));
table.Columns.Add("Дата поступления", typeof(DateTime));
// Заполняем данными из базы...
dataGridView1.DataSource = table;
// Фильтры только для трех столбцов (Количество — целочисленный диапазон, Цена — дробный)
SearchPanel.AttachTo(dataGridView1, "Наименование", "Количество", "Цена");
Пример 3: Библиотека — поиск по книжному фонду через BindingSource
using SearchKit;
var table = new DataTable();
table.Columns.Add("Автор", typeof(string));
table.Columns.Add("Название", typeof(string));
table.Columns.Add("Год издания", typeof(int));
table.Columns.Add("ISBN", typeof(string));
table.Columns.Add("Дата поступления", typeof(DateTime));
// Заполнение данными из базы...
var bs = new BindingSource { DataSource = table };
dataGridView1.DataSource = bs;
// Работает и с BindingSource — панель сама найдет DataTable внутри
SearchPanel.AttachTo(dataGridView1);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
-
net8.0-windows7.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SearchKit:
| Package | Downloads |
|---|---|
|
ISBuilder
Information System Builder — full toolkit for building .NET 8 WinForms applications with EF Core, SQL Server. Export, CRUD, forms, charts, auth, reports, validation, themes. |
GitHub repositories
This package is not used by any popular GitHub repositories.