鼠标移入获取值赋值给下拉框操作

用图片简介下接下来要完成的操作:

  1. 鼠标移入左边房态图中五个房子的任意一个客房内,获取该客房内的值,然后把需要用到的值赋值给右边红色下划线的三个框内。

鼠标移入前(图1):

鼠标移入后(完成效果图2):

实现思路:

1.因为房态图中的客房是来自另外页面(UserControl),所以这里会用到委托来实现赋值。

实时房态ViewModel层:页面Load方法:Select_HouseTable 查询客房数据for循环传递到客房ViewModel层(有多少条数据就生成多少个客房格子)

2.客房ViewModel层:

//声明委托(刷新客房信息)

public delegate void ChangeTextHandler(int text);

public event ChangeTextHandler ChangeTextEvent;

当接受客房信息成功后就能看到那些客房小格子 首先判断客房ID是否为空

private void GridMouseEnter(){//鼠标移入方法

if (dataTable.Rows[0]["guestRoom_id"].ToString() != null) {

    int roomID =Convert.ToInt32(dataTable.Rows[0]["guestRoom_id"].ToString());//获取客房ID

var roomTable = (from tbRoom in myModels.t_guestRoom

where tbRoom.guestRoom_id == roomID //根据获取的客房ID查询出该客房的数据

                     select tbRoom).ToList();

dataTable = ListToDataTable.ListToDataTablen(diningTable); //然后用到ListToDataTable把查出来的数据 转化为dataTable 并存放在零时表dataTable内

if (diningTable.Count >0){ //这种判断可以减少不必要的错误 所以在平时应该常写

        ChangeTextEvent(roomID);//利用委托把ID传过去

}

}else

    return;

}

 

3.回到实时房态ViewModel层:

//鼠标移入移出事件
        private void ShowMessage(int msgx)
        {
            try
            {
                //房桌ID
               int ID = Convert.ToInt32(msgx);
                //查询房客信息
                var roomT = (from tbHouseTable in myModels.t_guestRoom
                             orderby tbHouseTable.roomType //按照桌号排序
                             where tbHouseTable.guestRoom_id == ID
                             select tbHouseTable).ToList();
                if (roomT.Count>0)
                {
                    roomNumber = roomT[0].roomNumbr.ToString();
                    roomType = roomT[0].roomType.ToString();
                    string j = roomT[0].floor.ToString();
                    floor = "第" + j + "层";
                }
                else
                {
                    //鼠标移开清除数据
                    roomNumber = "";
                    roomType = "全部房间";
                    floor = "全部楼层";
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }
        }

 

然后就能看到效果如2图所示

注意:赋值后的下拉框值要和页面上给下拉框绑定的默认值相同,不然可能导致数据有但是显示不出来,就是因为下拉框中没有该默认值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值