Exemplo n.º 1
0
        private void cmbInsuranceDuration_SelectedIndexChanged(object sender, EventArgs e)
        {
            EagleWebService.t_Product product = (EagleWebService.t_Product)(cmbInsuranceType.Items[cmbInsuranceType.SelectedIndex]);

            if (string.IsNullOrEmpty(product.PrintingConfig))
            {
                MessageBox.Show("未找到该产品的打印格式信息,请连续管理员!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            try
            {
                printHandle = new PrintXmlHandle(PRINT_TYPE.INSURANCE, product.PrintingConfig, product.productID);
                printHandle.ToForm(this);

                string   productString        = product.FilterComment;
                string[] productIdAndDuration = productString.Split('|');
                int      productDuration      = int.Parse(productIdAndDuration[1]);
                cmbDuration.Items.Clear();
                for (int i = 1; i <= productDuration; i++)
                {
                    cmbDuration.Items.Add(i + "天");
                }
                cmbDuration.SelectedItem = productDuration + "天";
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 取产品列表
        /// </summary>
        /// <param name="iaCode">默认选中的产品编号</param>
        void GetProductList(string iaCode)
        {
            try
            {
                EagleWebService.wsInsurrance ws = new EagleWebService.wsInsurrance();
                EagleWebService.ProductListResponseEntity ret;
                ret = ws.GetProductList(Options.GlobalVar.IAUsername, Options.GlobalVar.IAPassword);

                if (string.IsNullOrEmpty(ret.Trace.ErrorMsg))
                {
                    if (ret.ProductList.Length < 1)
                    {
                        return;
                    }

                    this.cmbInsuranceType.DisplayMember = "productName";
                    this.cmbInsuranceType.ValueMember   = "FilterComment";//借用该字段

                    for (int i = 0; i < ret.ProductList.Length; i++)
                    {
                        EagleWebService.t_Product product = ret.ProductList[i];
                        product.FilterComment = product.productID + "|" + product.productDuration;//借用该string型字段,否则无法通过编译.
                        this.cmbInsuranceType.Items.Add(product);

                        //if (product.productID.ToString() == iaCode)
                        //this.cmbInsuranceType.SelectedIndex = i;//有bug!因为设置了cmbInsuranceType的Sorted属性,每次Add时会重新排列,而SelectedIndex却不变,导致最终显示错位!
                        //cmbInsuranceType.SelectedItem = product;//依然bug!因为该操作也间接设置了SelectedIndex,情况同上,导致显示错位!
                        //解决方法:不要在该数据填充循环中执行初始化操作,移到循环外,即下面的foreach循环
                    }

                    foreach (var item in cmbInsuranceType.Items)
                    {
                        EagleWebService.t_Product product = (EagleWebService.t_Product)item;
                        if (product.productID.ToString() == iaCode)
                        {
                            cmbInsuranceType.SelectedItem = product;
                            break;
                        }
                    }

                    if (this.cmbInsuranceType.SelectedIndex < 0)
                    {
                        this.cmbInsuranceType.SelectedIndex = 0;
                    }
                }
                else
                {
                    MessageBox.Show("获取产品列表失败:" + ret.Trace.ErrorMsg + System.Environment.NewLine + ret.Trace.Detail);
                }
            }
            catch (Exception e)
            {
                EagleString.EagleFileIO.LogWrite(e.ToString());
            }
        }