3,浏览模块设计
有关客户管理浏览模块设计,主要是根据查询条件,在DataGridView控件中 显示有符合条件的数据,如不加条件,则显示所有数据。这个模块在设计客户管理模块的时候就已经设计了,这里就不再多说了。
三,服务模块设计
对服务模块的设计与客户模块设计基本保持相同的格局,要重点从三块来设计,一是添加模块,二是更改模块,三是浏览模块。有了客户模块设计的样例,对于下面的就很方便了。
1,服务管理模块
服务管理模块在窗体上包含一个ToolStrip控件和一个DataGridView控件。ToolStrip控件中添加三个Label项,用来对DataGridView控件中所选择的行进行添加,删除和修改。
服务管理模块的设计示例为:
服务管理模块设计的窗体和控件的属性设置文档为:
然后就是窗体代码的写入:
(1)对于toolStrip1控件的代码写入是主要的,这里面包含添加,修改,删除三项操作:
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Name == "tslAdd2")//添加
{
showAddChildren2(0);//弹出添加服务窗体
}
if (e.ClickedItem.Name == "tslMod2")//修改
{
modAddChildren2();//弹出修改服务窗体
}
if (e.ClickedItem.Name == "tslDel2")//删除
{
DialogResult status = MessageBox.Show("你确认删除所选的行?", "确定对话框", MessageBoxButtons.YesNo);
if (status == DialogResult.Yes)
{
delAddChildren2();//删除所选择的服务
}
}
}
(2)其次就是对添加窗体,修改窗体和删除三项内容的代码编辑,实际上服务信息添加和服务信息修改两个窗体本身是一个窗体。
完整的Children2服务窗体的程序代码为:
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;
using System.Data.SqlClient;//引入的命名空间
namespace 客户管理系统
{
public partial class Children2 : Form
{
common cm = new common();//加载公共类common
database db = new database();//加载公共类database
public Children2()//构造函数
{
InitializeComponent();
}
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Name == "tslAdd2")//添加
{
showAddChildren2(0);//弹出添加服务窗体
}
if (e.ClickedItem.Name == "tslMod2")//修改
{
modAddChildren2();//弹出修改服务窗体
}
if (e.ClickedItem.Name == "tslDel2")//删除
{
DialogResult status = MessageBox.Show("你确认删除所选的行?", "确定对话框", MessageBoxButtons.YesNo);
if (status == DialogResult.Yes)
{
delAddChildren2();//删除所选择的服务
}
}
}
private void Children2_Load(object sender, EventArgs e)//服务管理窗体的load事件
{
showServers();//显示客户
}
private void showAddChildren2(int t)//弹出添加或修改窗体
{
addChildren2 c2 = new addChildren2();//创建添加服务或修改服务窗体的对象
c2.ID = t;
DialogResult result = c2.ShowDialog();
if (result == DialogResult.OK)
{
showServers();
}
}
private void modAddChildren2()//弹出修改服务信息窗体
{
if (dgv2.RowCount > 0)//存在行
{
if (dgv2.SelectedRows.Count == 1)//选择行
{
string value = dgv2.SelectedRows[0].Cells[0].Value.ToString();
if (value != null && value != string.Empty)//判定非空
{
showAddChildren2(int.Parse(value));//弹出修改服务窗体
}
else
{
MessageBox.Show("所选行不存在数据!");
}
}
else
{
MessageBox.Show("请选择一行要修改的数据!");
}
}
else
{
MessageBox.Show("目前还没有数据!");
}
}
private void delAddChildren2()//删除所选择服务
{
if (dgv2.SelectedRows.Count > 0)
{
for (int i = 0; i < dgv2.SelectedRows.Count; i++)
{
string selectID = dgv2.SelectedRows[1].Cells[0].Value.ToString();
if (selectID != null && selectID != string.Empty)
{
db.runSql("delete servers where id=" + selectID);
}
}
showServers();
}
}
private void showServers()//显示客户资料
{
cm.bindDgv(dgv2, "select * from servers order by id desc");//以表格的形式显示客户资料
}
}
}
运行整个程序的结果显示为:
(1)点击菜单栏上的添加,显示添加服务信息的窗体:
(2)点击菜单栏上的修改,显示修改服务信息的窗体:
(3)点击菜单栏上的删除,显示删除服务信息的对话框: