在Windows Forms(WinForms)应用程序中,创建一个通用的管理页面通常涉及对数据的增删改查(CRUD)操作,以及一些额外的功能,如数据过滤、排序、导出和导入等。
先看一个仓库管理页面要素。
仓库管理页面的重点在LoadStore和修改, 代码如下:
using STMS.BLL;
using STMS.Models.DModels;
using STMS.STMSApp.FModels;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace STMS.STMSApp.store
{
public partial class FrmStoreList : Form
{
public FrmStoreList()
{
InitializeComponent();
}
StoreBLL storeBLL = new StoreBLL();
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmStoreList_Load(object sender, EventArgs e)
{
chkShowDel.Checked = false;
txtKeyWords.Clear();
LoadStoreList();
}
/// <summary>
/// 查询仓库信息列表
/// </summary>
private void LoadStoreList()
{
bool isDel = chkShowDel.Checked;
string keywords = txtKeyWords.Text.Trim();
dgvStoreList.ShowDgvCols(isDel);//显示操作列
dgvStoreList.Columns["colAddRegion"].Visible = !isDel;
//加载仓库数据 到数据库读取数据
List<StoreInfo> storeList = storeBLL.GetStoreInfos(keywords, isDel);
if(storeList.Count>0)
{
dgvStoreList.AutoGenerateColumns = false;
dgvStoreList.DataSource = storeList;
SetEnableBtns(true);
}
else
{
dgvStoreList.DataSource = null;
SetEnableBtns(false);
}
}
private void SetEnableBtns(bool blShow)
{
btnFind.Enabled = blShow;
btnDelete.Enabled = blShow;
}
private void chkShowDel_CheckedChanged(object sender, EventArgs e)
{
LoadStoreList();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnFind_Click(object sen