WinForm笔记<1>

 

第一步:实例化 等

实例化
 1  //实例化
2 UcMachinePartBll MyBll = new UcMachinePartBll();
3 UcUserInfoModel MyModel = new UcUserInfoModel();
4 UcMachinePartDal MyBal = new UcMachinePartDal();
5 //变量
6 string JudgeCommand;
7 ToolStripStatusLabel tssl;
8 private DataTable dt;
9 private DataSet ds;
10
11 //IExecuteOperate 成员
12 #region IExecuteOperate 成员
13 public Brother.State State
14 {
15
16 get
17 {
18
19 switch (JudgeCommand)
20 {
21 case "LookThroughState":
22 {
23 return Brother.State.LookThroughState;
24 }
25 case "Insert":
26 {
27 return Brother.State.AddState;
28 }
29 case "Update":
30 {
31 return Brother.State.EditState;
32 }
33 default:
34 {
35 return Brother.State.LookThroughState;
36 }
37 }
38
39 }
40 }
41 #endregion

第二步:默认的加载 ,加载控件 绑定控件 数据等。

 

加载
 1 //加载
2 public UcMachineSet(ToolStripStatusLabel tsslRecords)
3 {
4 //是否为管理员
5 if (LoginUserModel.IsManager)
6 {
7 InitializeComponent();
8 tssl = tsslRecords;
9
10 //DGV设置为不自动创建列
11 this.DgvMachinePart.AutoGenerateColumns = false;
12
13 ds = MyBal.FetchData();
14
15 //DGV加载的DT
16 dt = ds.Tables["MMachineType"];
17 //绑定字段
18 Binding();
19
20 //隐藏 机型
21 this.panel1.Visible = false;
22
23 SetControlBtnVisibility(true);
24 SetControlTxtUsability(true);
25
26 BindingManagerBase OBMB = this.BindingContext[dt];
27 tssl.Text = "Total Records:" + BindingContext[dt].Count;
28 //自动填满
29 this.Dock = DockStyle.Fill;
30 //DgvMachinePart.Columns["ChildMachineCode"].Frozen = true;
31 //DgvMachinePart.Columns["PartCode"].Frozen = true;
32 }
33 else
34 {
35 MessageBox.Show("您没有该节点的访问权限!", "提示");
36 }
37 }

附绑定字段、控件可见性等(参考)

绑定字段等
 1 //绑定字段
2 public void Binding()
3 {
4 this.ckbMachine.DataBindings.Add("Checked", dt, "IsChilder");
5
6 this.TxtMachineNo.DataBindings.Add("Text", dt, "MachineNo");
7 this.TxtMachineCode.DataBindings.Add("Text", dt, "MachineCode");
8
9 this.TxtMachineClildNo.DataBindings.Add("Text", dt, "ChildMachineNo");
10 this.TxtMachineClildCode.DataBindings.Add("Text", dt, "ChildMachineCode");
11
12 this.TxtPartCode.DataBindings.Add("Text", dt, "PartCode");
13 this.TxtPartName.DataBindings.Add("Text", dt, "PartName");
14
15 this.TxtHeadPartCode.DataBindings.Add("Text", dt, "HeadPartCode");
16 this.TxtHeadPartName.DataBindings.Add("Text", dt, "HeadPartName");
17
18 this.TxtChanger.DataBindings.Add("Text", dt, "Changer");
19 this.TxtChangeDate.DataBindings.Add("Text", dt, "ChangeDate");
20
21 this.DgvMachinePart.DataSource = dt;
22
23 }
24
25
26 //控件显示状态
27 public void SetControlBtnVisibility(bool V)
28 {
29 if (V)
30 {
31 TxtSearch.BackColor = System.Drawing.Color.White;
32 }
33 else
34 {
35 TxtSearch.BackColor = System.Drawing.Color.AliceBlue;
36 }
37
38 BtnAdd.Visible = V;
39 BtnEdit.Visible = V;
40 BtnDel.Visible = V;
41 TxtSearch.Enabled = V;
42 BtnUpd.Visible = !V;
43 BtnCancel.Visible = !V;
44 this.DgvMachinePart.Enabled = !V;
45
46 }

 

最后看下数据层的, 数据加载

数据加载的方法
 1  //加载....页面
2 public DataSet FetchData()
3 {
4 ds = new DataSet();
5 SqlConnection conn = sh.getDBConnString();
6 SqlCommand cmd = new SqlCommand("P_QueryMMachineType", conn);
7 cmd.CommandType = CommandType.StoredProcedure;
8 da = new SqlDataAdapter(cmd);
9 da.Fill(ds, "MMachineType");
10
11 dt = ds.Tables["MMachineType"];
12 //约束
13 dt.Constraints.Add(new UniqueConstraint(new DataColumn[4] { dt.Columns["MachineNo"], dt.Columns["MachineCode"], dt.Columns["PartCode"], dt.Columns["ChildMachineNo"] }));
14
15 dt.Columns["RegistDate"].DefaultValue = System.DateTime.Now.ToShortDateString();
16 dt.Columns["Register"].DefaultValue = LoginUserModel.LoginName;
17
18 dt.Columns["DelFlg"].DefaultValue =false;
19
20 dt.Columns["IsChilder"].DefaultValue = false;
21
22 dt.Columns["NO"].DefaultValue = ds.Tables[0].Rows.Count + 1;
23
24
25
26 //委托事件
27 da.RowUpdated += new SqlRowUpdatedEventHandler(da_RowUpdated);
28
29 //==============删除操作
30 SqlCommand DeleteCmd = new SqlCommand("P_DeleteMMachineType", conn);
31 DeleteCmd.CommandType = CommandType.StoredProcedure;
32 OriginalParameters(DeleteCmd);
33 da.DeleteCommand = DeleteCmd;
34
35 //==============修改操作
36 SqlCommand UpdateCmd = new SqlCommand("P_UpdateMMachineType", conn);
37 UpdateCmd.CommandType = CommandType.StoredProcedure;
38
39 OriginalParameters(UpdateCmd);
40 CurrentParameters(UpdateCmd);
41 //增加参数
42 SqlParameter Changer = new SqlParameter("@Changer", SqlDbType.NVarChar, 20);
43 Changer.SourceColumn = "Changer";
44 Changer.SourceVersion = DataRowVersion.Current;
45
46 UpdateCmd.Parameters.Add(Changer);
47
48
49 da.UpdateCommand = UpdateCmd;
50 //===============添加
51 SqlCommand InsertCmd = new SqlCommand("P_InsertMMachineType", conn);
52 InsertCmd.CommandType = CommandType.StoredProcedure;
53
54 CurrentParameters(InsertCmd);
55 //增加参数
56 SqlParameter Register = new SqlParameter("@Register", SqlDbType.NVarChar, 20);
57 Register.SourceColumn = "Register";
58
59 Register.SourceVersion = DataRowVersion.Current;
60 InsertCmd.Parameters.Add(Register);
61
62
63 da.InsertCommand = InsertCmd;
64
65 return ds;
66 }









 

转载于:https://www.cnblogs.com/Kevinfans/archive/2012/02/16/2354085.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值