SearchKit 8.6.4

dotnet add package SearchKit --version 8.6.4
                    
NuGet\Install-Package SearchKit -Version 8.6.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SearchKit" Version="8.6.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SearchKit" Version="8.6.4" />
                    
Directory.Packages.props
<PackageReference Include="SearchKit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SearchKit --version 8.6.4
                    
#r "nuget: SearchKit, 8.6.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SearchKit@8.6.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SearchKit&version=8.6.4
                    
Install as a Cake Addin
#tool nuget:?package=SearchKit&version=8.6.4
                    
Install as a Cake Tool

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 Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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.

Version Downloads Last Updated
8.6.4 91 4/12/2026
8.6.0 70 4/12/2026