WPF 修改

新增和修改都是差不多的,MVC是,WPF也是

1.在主页面中先把所有字段和按钮设计出来(按钮用Button控件;搜索用TextBlock控件,搜索的文本框用TextBox控件,在搜索框中还可以弹出工具提示对象,用ToolTip属性;表格用DataGridTextColumn。如下图)
在这里插入图片描述
2.查询数据(在SQL Server里用存储过程查询数据,需要把表格的所有字段都查出来)

SELECT    ROW_NUMBER() over(order by t_operators.operator_id) AS number,
           	     t_operators.operator_id, t_operators.staff_id, 
	             RTRIM(t_staff.staff_name) AS name, 
	             RTRIM(t_operators.operator_accounts) AS accounts, 
	             RTRIM(t_operators.operator_password) AS password, 
	             RTRIM(case WHEN t_operators.effective='true' THEN '有效' ELSE '无效' END) AS effective, 
	              RTRIM(t_operators.note) AS note
FROM     t_operators INNER JOIN
		       t_staff ON t_operators.staff_id = t_staff.staff_id

3.在服务端Service调用存储过程(在服务器Service中配置服务,定义操作契约,服务协议)

//实例化对象数组
   SqlParameter[] mySqlParameters =
   {
        //定义传递参数,以及传递参数的类型
        new SqlParameter("@type",SqlDbType.NChar),
   };
  mySqlParameters[0].Value = "UserControl_Loaded_SelectStaffAccountManage";
  DataSet ds = myDALMethod.QueryDataSet("UC_StaffAccountManage", mySqlParameters);
  //返回值
  return ds;

4.在客户端Client中引用服务(初始化表格和绑定数据)

//初始化表格
  PublicStaticMothd.SetDgStyle(dgAccountManage);
  //调用:绑定表格数据
  SelectdgAccountManage();

整个页面设计如下:
在这里插入图片描述
5.选择一条数据,点击修改,进行数据回填(在修改的过程中,员工的账号不能为空或者不能与之前的一样,重复;密码不能为空;所选的姓名必须是之前有账号的)
在这里插入图片描述
6.在数据库SQL Server查询匹配账号的员工信息(在新增的时候是查询未匹配员工账号的)

SELECT   staff_id, 
	     RTRIM(staff_name) AS name
FROM     t_staff
WHERE    staff_id IN(SELECT   t_operators.staff_id FROM t_operators )

7.在数据库SQL Server查询需要修改员工账号的信息(需要判断修改的账号是否是存在的)

IF exists(select 0 from t_operators where operator_accounts=@operator_accounts)
	begin
		RETURN
	end
ELSE
	begin
	     UPDATE t_operators
         SET staff_id=@staff_id,operator_accounts=@operator_accounts,	
         operator_password=@operator_password,effective=@effective,note=@note
WHERE operator_id=@operator_id

8.在服务端Service中调用数据(需要修改多少个字段,就要声明多少个参数)
在这里插入图片描述
9.在Client客户端中跨页面传递数据(需要修改的主页面)

if ((DataRowView)dgAccountManage.CurrentItem != null)
     {
          //1数据回填(选中行数据)跨页面传递数据
          WD_UpdateStaffAccountManage myUpdate = new WD_UpdateStaffAccountManage((DataRowView)dgAccountManage.CurrentItem);
          myUpdate.ShowDialog();
          //2刷新表格数据
          SelectdgAccountManage();
     }

需要修改的页面

DataRowView DRV;
        public WD_UpdateStaffAccountManage( DataRowView drv)
        {
            InitializeComponent();
            //获取行数据
            DRV = drv;
        }

10.绑定下拉框和页面控件数据回填
在这里插入图片描述
11.修改保存按钮
在这里插入图片描述
12.重置按钮是把它们全部设为空值

cbo_Name.SelectedValue = 0;
 txt_Account.Text = string.Empty;
 txt_Note.Text = string.Empty;
 PB_Password.Password = string.Empty;
 chk_Effect.IsChecked = false;

13.在取消时,我们还要给提示,因为WPF不像MVC一样会保存记录,所以我们要提示取消之后将不会保留数据

 MessageBoxResult dr = MessageBox.Show("退出界面数据将不保留。", "系统提示", MessageBoxButton.OKCancel, MessageBoxImage.Information);//弹出确定对话框
 if(dr==MessageBoxResult.OK)//如果点了确定按钮
     {
          //关闭窗口
          this.Close();
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值