📄 productoperform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//导入产品实体类所在命名空间
using DaFanRongMIS.Model.Product;
using DaFanRongMIS.Model.Unit;
using DaFanRongMIS.Model.CateGory;
using System.IO;
namespace DaFanRongMIS.ViewController.Product
{
public partial class ProductOperForm : Form
{
public ProductOperForm()
{
InitializeComponent();
}
#region 带参构造方法,标示增加、修改状态,并回添ListView
public ProductOperForm(string str, ListView LV)
{
InitializeComponent();
flag = str;
ProductLV = LV;
}
#endregion
//定义产品实体类对象
ProductEntity product = new ProductEntity();
//定义产品操作类对象
ProductDAOImpl productdao = new ProductDAOImpl();
//使用此变量接收状态值
string flag = "";
//定义ListView类型变量
ListView ProductLV = null;
#region 自动生成指定类别的产品编号
private void AutoID()
{
//获取此类材料个数
string i = productdao.SelectProductMaxID(cboCateName.Tag.ToString());
//判定有没有产品
if (i != "-1") //无异常
{
if (i == "") //没有
txtID.Text = cboCateName.Tag.ToString() + "001";
else //有
{
txtID.Text = cboCateName.Tag.ToString()+ (Convert.ToInt32(i) + 1).ToString("000");
//string j = (i + 1).ToString();
////生成三位编号
//if (j.ToString().Length == 1)
// txtID.Text = cboCateName.Tag.ToString() + "00" + j.ToString();
//else if (j.ToString().Length == 2)
// txtID.Text = cboCateName.Tag.ToString() + "0" + j.ToString();
//else if (j.ToString().Length == 3)
// txtID.Text = cboCateName.Tag.ToString() + j.ToString();
}
}
}
#endregion
#region 图片框单击事件
OpenFileDialog OFD = new OpenFileDialog();
string s = "";//存储图片的名字
private void picPhoto_Click(object sender, EventArgs e)
{
OFD.Filter = "JPG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|ICO文件(*.ico)|*.ico|所以文件(*.*)|*.*";
if (OFD.ShowDialog() == DialogResult.OK)
{
txtPhotoPath.Text = OFD.FileName;
//从图片路径中获取图片的名字
FileInfo f = new FileInfo(OFD.FileName);
s = f.Name;
picPhoto.Image = Image.FromFile(OFD.FileName, true);
}
}
#endregion
#region 填充ListView方法
private void FillLV()
{
//通过方法传递饭店名称和厨房名称参数
//声明数据表对象接收查询结果
DataTable dt = productdao.SelectProduct("", "", "", "");
//判断是否有返回记录
if (dt != null)
{
//清除ListView上的所有项
ProductLV.Items.Clear();
//有返回值,将其填充到ListView中
for (int i = 0; i < dt.Rows.Count; i++)
{
//定义ListView项
ListViewItem item = new ListViewItem(dt.Rows[i][6].ToString()); //产品编号
//定义ListView子项
item.SubItems.Add(dt.Rows[i][7].ToString()); //计量单位编号
item.SubItems.Add(dt.Rows[i][8].ToString()); //类别编号
item.SubItems.Add((i + 1).ToString()); //序号
item.SubItems.Add(dt.Rows[i][0].ToString()); //产品名称
item.SubItems.Add(dt.Rows[i][1].ToString()); //拼音码
item.SubItems.Add(dt.Rows[i][2].ToString()); //图片
item.SubItems.Add(dt.Rows[i][3].ToString()); //价格
item.SubItems.Add(dt.Rows[i][4].ToString()); //计量单位名
item.SubItems.Add(dt.Rows[i][5].ToString()); //类别名
item.SubItems.Add(dt.Rows[i][9].ToString()); //备注
//将此项添加到ListView中
ProductLV.Items.Add(item);
}
}
}//end method FillLV
#endregion
#region 获取计量单位名称的方法
private void FillCboUnit()
{
//定义计量单位操作类对象
UnitDAOImpl unitdao = new UnitDAOImpl();
//定义数据表对象,用于接收查询结果
DataTable dt = unitdao.SelectUnit();
//判断是非为空
if (dt != null)
{
//循环添加计量单位名称和编号
for (int i = 0; i < dt.Rows.Count; i++)
{
cboUnitName.Items.Add(dt.Rows[i][0].ToString());
}
}
}
#endregion
#region 获取商品类别名称的方法
private void FillCboCateGory()
{
//定义商品类别实体类对象
CateGoryEntity cate = new CateGoryEntity();
//定义商品类别操作类对象
CateGoryDAOImpl catedao = new CateGoryDAOImpl();
//定义数据表对象,用于接收查询结果
DataTable dt = catedao.SelectCategory();
//判断是非为空
if (dt != null && dt.Rows.Count > 0)
{
//循环添加商品类别名称和编号
for (int i = 0; i < dt.Rows.Count; i++)
{
cboCateName.Items.Add(dt.Rows[i][0].ToString());
}
//默认选中第一个类别
cboCateName.Text = dt.Rows[0][0].ToString();
//选中编号
GetCateID();
}
}
#endregion
#region 按类别名称得到类别编号
private void GetCateID()
{
//定义商品类别操作类对象
CateGoryDAOImpl catedao = new CateGoryDAOImpl();
//定义数据表对象,用于接收查询结果
DataTable dt = catedao.SelectCategorybyName(cboCateName.Text);
//判断是非为空
if (dt.Rows.Count > 0)
{
if (dt.Rows.Count == 1)
cboCateName.Tag = dt.Rows[0][1].ToString();
//else
// new TempForm(dt, cboCateName).ShowDialog();
//自动生成编号
AutoID();
}
}
#endregion
#region 窗体加载事件
private void ProductOperForm_Load(object sender, EventArgs e)
{
//判断当前状态是添加还是修改
if (flag == "Add") //添加状态
{
//标明进入添加状态
GB.Text = "添加操作";
//填充计量单位名称
FillCboUnit();
//填充商品类别名称
FillCboCateGory();
//调用清空文本框方法
txtCls();
//编号文本框得到焦点
txtName.Focus();
}
else if (flag == "Update") //修改状态
{
if (ProductLV.SelectedItems.Count > 0) //判断是否选中要修改的记录
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -