如何使用smobiler的listview控件实现个人信息修改

本文详细介绍了如何在Smobiler中使用ListView展示数据,并实现分页、编辑功能。通过创建自定义编辑窗口和事件回调,展示了如何在用户点击行后弹出编辑框,修改数据后更新ListView。实例包括ListView的初始化、数据绑定以及UserControl的事件处理逻辑。
前言

在Smobiler中使用ListView 展示数据是一种比较好的方式,一般都会需要对数据进行分页,更新,删除等操作,如下图展示的【点击行项,编辑当前行数据,关闭编辑窗口后更新ListView数据

在这里插入图片描述

具体实现请往下阅读。

创建ListView

首先在窗体中拖入ListView,ListView的模板类为Userinfo,Userinfo的布局如图:

在这里插入图片描述

ListView的数据绑定此次忽略
再新建一个SmobilerUserControl,命名为EditUserinfo.cs,做为编辑窗口,布局如下:

在这里插入图片描述

实现

Smoblier的Listview是基于UserControl的,想要对ListVieW的行数据处理,可以把事件写UserCotrol中,如点击ListView行弹出编辑框写在Userinfo.cs中panel的点击事件中

 private void panel1_Press(object sender, EventArgs e)
        {
            EditUserInfo edfrm = new EditUserInfo(labName.Text, labTel.Text);//将当前行的数据传给编辑弹窗
            this.Form.ShowDialog(edfrm, (obj, args) =>
            {//回调函数在弹窗关闭时执行
                if (this.Form.ShowResult == ShowResult.Yes)
                {//弹出框点击“确定”,更新listview数据
                    ListViewRow lr = this.Tag as ListViewRow;//获取listview当前行
                    ((Userinfo)((this.Tag as ListViewRow).Control)).labName.Text = edfrm.txtName.Text;//更新用户名
                    ((Userinfo)((this.Tag as ListViewRow).Control)).labTel.Text = edfrm.txtTel.Text;//更新电话
                }
                else//弹出框点击“取消”
                {
                    Toast("用户取消操作");
                }
            });

EditUserinfo.cs中新增一个带参构造函数,用于接收当前选择行的数据

        private string name;
        private string tel;
        //带参构造函数,用于接收数据
  public EditUserInfo(string name,string tel) : base()
        {
            this.name = name;
            this.tel = tel;
            //This call is required by the SmobilerUserControl.
            InitializeComponent();
        }
        private void btnNo_Press(object sender, EventArgs e)
        {
            this.Form.ShowResult = ShowResult.No;
            this.Close();
        }
        private void btnYes_Press(object sender, EventArgs e)
        {
            this.Form.ShowResult = ShowResult.Yes;
            this.Close();
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值