Erp.Toolkit
0.4.4
See the version list below for details.
dotnet add package Erp.Toolkit --version 0.4.4
NuGet\Install-Package Erp.Toolkit -Version 0.4.4
<PackageReference Include="Erp.Toolkit" Version="0.4.4" />
<PackageVersion Include="Erp.Toolkit" Version="0.4.4" />
<PackageReference Include="Erp.Toolkit" />
paket add Erp.Toolkit --version 0.4.4
#r "nuget: Erp.Toolkit, 0.4.4"
#:package Erp.Toolkit@0.4.4
#addin nuget:?package=Erp.Toolkit&version=0.4.4
#tool nuget:?package=Erp.Toolkit&version=0.4.4
Erp.Toolkit
An open-source, enterprise-grade, deeply customizable user control component library, providing a rich set of WinForms UI components and tools.
This package is an extension for the ERP 2.0 project, aimed at simplifying the display of master-detail structured data within projects and providing common basic functionalities.
Features
- High-performance DataGridView control
- Multi-target framework support (.NET Framework 4.6.2+ and .NET Core 3.1+)
- Multi-language support ( zh-CN, zh-TW, en-US, de-DE, fr-FR, ja-JP )
- Rich theme system
- Conditional styling and formatting
- Master-detail grid views
- Customizable column configuration
- Statistics, printing, and exporting
- Built-in search and filtering capabilities
- More enterprise-level UI components
Supported Frameworks
- .NET Framework 4.6.2, 4.7.2, 4.8
- .NET Core 3.1
- .NET 6.0, 7.0, 8.0 (Windows)
Preview

How to Pack
# Pack the project
dotnet pack --configuration Release
# Specify output directory
dotnet pack --configuration Release --output ./nupkgs
# Upload to NuGet server using dotnet CLI
dotnet nuget push ./nupkgs/Erp.Toolkit.0.3.6.nupkg --api-key API_KEY --source https://api.nuget.org/v3/index.json
Installation
Install via NuGet:
Install-Package Erp.Toolkit
How to Use
| Quick Start | Full Example | NuGet Package |
|---|
// Create control
private Erp.Toolkit.Controls.Dgv dgv = new Erp.Toolkit.Controls.Dgv();
// Sample data
var sampleData = GenerateSampleData();
// Render on UI layer
Controls.Add(dgv);
dgv.Dock = DockStyle.Fill;
// Populate data for the top-level master view
dgv.FillList(sampleData, this.Name);
// Set theme
dgv.ThemeStyle = ThemeStyle.blue;
// Custom user menu or toolbar
List<DgvUserContextMenuStripConfig> menuConfigs = new List<DgvUserContextMenuStripConfig>
{
new DgvUserContextMenuStripConfig
{
MenuText = "Detailed Profile",
Target = MenuShowTarget.ToolStrip | MenuShowTarget.ContextMenuStrip,
Group = 1,
ClickHandler = (senders, es) => {
var winFrom = new WinFormSample();
winFrom.Text = $"View detailed profile for employee {dgv.GetSelectedItemIds()}";
winFrom.ShowDialog();
}
},
};
// Build user menu configuration
dgv.SetUserContextMenu(menuConfigs);
Sample Data
internal class SampleData
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Department { get; set; }
public string Position { get; set; }
public decimal Salary { get; set; }
public DateTime JoinDate { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public bool IsActive { get; set; }
public string Status => IsActive ? "Active" : "Inactive";
public int WorkYears => DateTime.Now.Year - JoinDate.Year;
}
private List<SampleData> GenerateSampleData()
{
return new List<SampleData>
{
new SampleData
{
Id = 1,
Name = "Zhang Ming",
Age = 28,
Department = "Technology Department",
Position = "Senior Software Engineer",
Salary = 15000m,
JoinDate = new DateTime(2020, 3, 15),
Email = "zhangming@doipc.com",
Phone = "13800138001",
IsActive = true
},
new SampleData
{
Id = 2,
Name = "Li Fang",
Age = 32,
Department = "Human Resources Department",
Position = "HR Manager",
Salary = 12000m,
JoinDate = new DateTime(2019, 7, 22),
Email = "lifang@doipc.com",
Phone = "13900139002",
IsActive = true
},
new SampleData
{
Id = 3,
Name = "Wang Qiang",
Age = 25,
Department = "Marketing Department",
Position = "Marketing Specialist",
Salary = 8000m,
JoinDate = new DateTime(2022, 1, 10),
Email = "wangqiang@doipc.com",
Phone = "13700137003",
IsActive = true
}
};
}
Sample Code
- Quick Start
- Full Example
- Conditional Style Configuration
- Custom Column Configuration
- NuGet Package
- English Readme
- Chinese Readme
Erp.Toolkit - Making enterprise development less complex!
- A toolset focused on ERP scenarios
- Developed based on real enterprise requirements
- Proven in production environments
- Continuously updated and maintained
- Free and open source, licensed under Apache-2.0 license, commercial use welcome
- Please submit
Issuesfor any problems;PRsare welcome for known errors
Erp.Toolkit: A powerful set of tools and components for building ERP systems efficiently.
@zhangsanbin 👍 This project looks great - it's ready to pull!
- I have reviewed the code changes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net6.0-windows7.0 is compatible. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows7.0 is compatible. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.1 is compatible. |
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
-
.NETCoreApp 3.1
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Windows.Compatibility (>= 8.0.4)
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
-
.NETFramework 4.6.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.7.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
-
.NETFramework 4.8
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
-
net6.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
-
net7.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
-
net8.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
- System.Linq.Dynamic.Core (>= 1.6.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Enhanced multilingual localization settings