using System;
using System.Collections.Generic;
using
using System.Data;
// 引用名称空间
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Win.FormMarket
{
public partial class GoodsForm : Form
{
/* 数据集 */
DataSet ds = null;
/* 商品信息适配器 */
SqlDataAdapter GoodsDa = null;
public GoodsForm()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载时...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GoodsForm_Load(object sender, EventArgs e)
{
/* 加载所有商品信息 */
AddGoodsInfo();
#region 向TreeView 中添加节点
/* 向TreeView 中添加节点 */
//// 1. 根节点
//tvTypes.Nodes.Add("全部");
//// 2.子节点
//tvTypes.Nodes[0].Nodes.Add("正价商品");
//tvTypes.Nodes[0].Nodes.Add("特价商品");
#endregion
}
/// <summary>
/// 加载所有商品信息
/// </summary>
public void AddGoodsInfo()
{
/* 加载所有商品信息 */
// 1. 创建 数据集对象
ds = new DataSet();
// 2.创建 商品信息适配器
GoodsDa = new SqlDataAdapter("select C.CId , ,S.SId , S.SName , C.Price , C.IsDiscount , C.DiscountPrice from Sorts S inner join Commodities C on S.SId = C.SortId ", DBHelp.connectionString);
// 3.填充到数据集
GoodsDa.Fill(ds, "Goods");
//dgvGoods.DataSource = ds.Tables["Goods"];
}
/// <summary>
/// 更改选定内容后...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tvTypes_AfterSelect(object sender, TreeViewEventArgs e)
{
/* 创建数据视图对象 */
DataView dv = new DataView(ds.Tables["Goods"]);
/* 根据节点显示对应信息 */
// 1.判断是否为根节点
if (e.Node.Level != 0)
{
if (e.Node.Text == "正价商品")
{
dv.RowFilter = ("IsDiscount = 0");
}
else
{
dv.RowFilter = ("IsDiscount = 1");
}
}
// 显示所有商品信息
dgvGoods.DataSource = dv;
}
/// <summary>
/// 单击增加按钮....
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbtnAdd_Click(object sender, EventArgs e)
{
/* 显示编辑窗体 */
EditForm ef = new EditForm();
//模式窗口显示
ef.ShowDialog();
/* 重新获取数据(刷新数据集) */
//1. 重新加载商品所有商品信息
AddGoodsInfo();
// 2. 重新绑定数据
dgvGoods.DataSource = ds.Tables["Goods"];
}
/// <summary>
/// 单击修改按钮...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbtnUpdate_Click(object sender, EventArgs e)
{
/* 判断档期啊你是否有选中行 */
if (dgvGoods.SelectedRows.Count == 0)
{
MessageBox.Show("请选择要修改的商品信息...");
return;
}
/* 获取当前选中行 */
UserHelp.NowRow = dgvGoods.SelectedRows[0];
/* 显示编辑窗体 */
EditForm ef = new EditForm();
// 1.模式窗口显示
ef.ShowDialog();
/* 重新获取数据(刷新数据集) */
//1. 重新加载商品所有商品信息
AddGoodsInfo();
// 2. 重新绑定数据
dgvGoods.DataSource = ds.Tables["Goods"];
// 3.初始化 "当前选中行"
UserHelp.NowRow = null;
}
/// <summary>
/// 单击删除按钮...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbtnDelete_Click(object sender, EventArgs e)
{
/* 检查是否有选中的商品 */
if(dgvGoods.SelectedRows.Count == 0)
{
MessageBox.Show("请选择要删除的商品....");
return;
}
/* 阻止删除 */
DialogResult result = MessageBox.Show("确定删除吗?" , "提示 !" , MessageBoxButtons.YesNo , MessageBoxIcon.Asterisk);
if (result == DialogResult.Yes)
{
/* 删除数据集中的商品信息 */
// 1.获取选中的商品编号
int goodsId = int.Parse(dgvGoods.SelectedRows[0].Cells[0].Value.ToString());
/* 删除数据库中对应的商品信息 */
// 1. 创建 connection 对象
SqlConnection con = new SqlConnection(DBHelp.connectionString);
// 2.创建 command 对象
SqlCommand cmd = new SqlCommand();
// 3. 设置 command 属性
cmd.Connection = con ;
= string.Format("delete commodities where CId = {0}",goodsId);
// 4. 打开链接
con.Open();
// 5.执行操作
int result1 = cmd.ExecuteNonQuery();
if (result1 > 0)
{
// 7.删除成功
MessageBox.Show("删除商品成功...");
/* 重新加载数据 */
//1.重新加载商品所有商品信息
AddGoodsInfo();
// 2. 重新绑定数据
dgvGoods.DataSource = ds.Tables["Goods"];
}
// 6.关闭连接
con.Close();
}
}
/// <summary>
/// 单击退出按钮...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbtnExit_Click(object sender, EventArgs e)
{
// 关闭当前窗体
this.Close();
}
}
}