WPF由文本框输入的内容动态渲染下拉框

7 篇文章 0 订阅

在做项目过程中,需要扫码枪扫描快递单号或者手动输入快递单号时,自动检索该单号是哪个快递公司的,下拉框中自动带出该单号的快递公司。当输入的快递单号不存在时,将数据库中所有快递公司都带出
效果:

通过输入的快递单号检索快递公司

1、物流单号文本框需要添加KeyDown回车事件

<TextBox Grid.Row="9" Grid.Column="1"  x:Name="txtRemark" Width="250"
 KeyDown="txtRemark_KeyDown" InputMethod.IsInputMethodEnabled="False"></TextBox>

2、下拉框不能绑定binding,直接使用一个combox下拉框就可以了,将name等一些基本属性设置好就行

<ComboBox Name="cmbLineName" Width="250" SelectedValuePath="ItemValue" DisplayMemberPath="ItemValue" />

3、cs层物流单号的回车事件代码:

private void txtRemark_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key==Key.Enter)
    {
        var LineNo = this.txtRemark.Text;
        List<WordbookItemVO> result = new List<WordbookItemVO>();
        //调用服务查询数据库中配置的快递公司,首次使用的快递公司需要通过手持终端的API接口新增致数据库的表保存
        ServicesInvokeHelper.Invoke<IInStoreOrderService>((proxy) =>
        {
            result = proxy.QueryExpress(LineNo);
        });
        ItemCollection coll = cmbLineName.Items;
        coll.Clear();
        cmbLineName.Text = null;
        if (result!=null)
        {
        	//循环遍历查询到的物流公司,将公司名放进ComboBoxItem中
            foreach (var item in result)
            {
                ComboBoxItem boxItem = new ComboBoxItem() { Content = item };
                coll.Add(item);
                //cmbLineName.Items.Add(item);
            }
        } 
        else
        {
            MessageBox.Show("当前快递单号没有对应快递公司,请用RF收件");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值