Erp.Toolkit
0.5.1
dotnet add package Erp.Toolkit --version 0.5.1
NuGet\Install-Package Erp.Toolkit -Version 0.5.1
<PackageReference Include="Erp.Toolkit" Version="0.5.1" />
<PackageVersion Include="Erp.Toolkit" Version="0.5.1" />
<PackageReference Include="Erp.Toolkit" />
paket add Erp.Toolkit --version 0.5.1
#r "nuget: Erp.Toolkit, 0.5.1"
#:package Erp.Toolkit@0.5.1
#addin nuget:?package=Erp.Toolkit&version=0.5.1
#tool nuget:?package=Erp.Toolkit&version=0.5.1
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.BlueTheme;
// 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)
-
.NETFramework 4.6.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.ValueTuple (>= 4.5.0)
-
.NETFramework 4.7.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
-
.NETFramework 4.8
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
-
net6.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
-
net7.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
-
net8.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Enhanced status bar data aggregation functionality, enabling real-time updates of aggregated information