//datagrid初始化 void BindNetBall() { string Number = ""; try { HtmlElement input = HtmlPage.Document.GetElementById("Number"); Number = input.GetAttribute("value"); } catch { } if (string.IsNullOrEmpty(Number)) { MessageBox.Show("参数错误,请重新发起请求!"); return; } int SchemeLength = Number.Split(';').Length; if (SchemeLength != 3) { return; } //玩法类型 string strPlayType = Number.Split(';')[0].ToString(); //场次信息id字符串,带[]包起来的 string BuyNumber = Number.Split(';')[1].ToString(); //去除[] string Numbers = BuyNumber.Substring(1, BuyNumber.Length - 1).Substring(0, BuyNumber.Length - 2).ToString().Trim(); if (Numbers == "") { return; } //得到场次信息id和胜平负信息(全局变量) GameNumber = Numbers.Split('|'); //[AB1] --> AB玩法几串几,1数字表示注数 BuyWays = Number.Trim().Split(';')[2].ToString().Substring(1, Number.Trim().Split(';')[2].ToString().Length - 1).Substring(0, 2).ToString().Trim(); if (BuyWays == "") { BuyWays = Netball.GetBuyWays(GameNumber.Length > 3 ? 3 : GameNumber.Length); } try { Mulitpe = int.Parse(Number.Trim().Split(';')[2].ToString().Substring(1, Number.Trim().Split(';')[2].ToString().Length - 2).Substring(2).ToString().Trim()); } catch { Mulitpe = 1; } //一共多少场比赛 this.tbSessionCount.Text = GameNumber.Length.ToString() + "场"; string PlayName = string.Empty; PlayName = "(" + Netball.GetGameType(BuyWays) + ")"; if (string.IsNullOrEmpty(PlayName) && GameNumber.Length > 3) { PlayName = "(3串1)"; } this.tbGameType1.Text = PlayName; this.tbGameType2.Text = PlayName; this.tbGameType3.Text = PlayName; this.tbGameType4.Text = PlayName; this.tbGameType5.Text = PlayName; #region 页面初始状态,计算一共多少注,和总金额 //计算一共多少注,和总金额 string TempName = string.Empty; double ZhuCount = 1; List<string[]> List = new List<string[]>();//数组集合 string TempStr = ""; for (int k = 0; k < GameNumber.Length; k++) { TempName = GameNumber[k].ToString(); string[] ZhuArr = TempName.Substring(TempName.IndexOf('(') + 1, TempName.LastIndexOf(')') - TempName.IndexOf('(') - 1).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); TempStr = ""; for (int i = 0; i < ZhuArr.Length; i++) { TempStr += ZhuArr[i] + ","; } TempStr += "*"; string[] arr = TempStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List.Add(arr); } GetList(List, "", List.Count - 1);//递归方法,获取未处理前得全部数组 string GameTypeCount = PlayName.Substring(1, 1); if (GameTypeCount == List.Count.ToString()) //默认玩法 n串1,n就等于比赛场次 { string Reg2 = @"\*"; ListResult = ListResult.FindAll(t => !Regex.Match(t, Reg2).Success); } else if (ConvertInt(GameTypeCount) < List.Count) { int Difference = List.Count - int.Parse(GameTypeCount); ListResult = ListResult.FindAll(t => t.Split(new string[] { "*" }, StringSplitOptions.None).Length == Difference + 1); } ZhuCount = ListResult.Count; this.tbZhuCount.Text = ZhuCount + "注"; this.tbSumMoney.Text = (ZhuCount * 2 * Mulitpe).ToString(); this.tbMultiple.Text = Mulitpe.ToString(); #endregion string StrId = string.Empty; BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None); binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; ServiceClient sc = new ServiceClient(binding, new EndpointAddress(new Uri(Application.Current.Host.Source, "Service.svc/T_PassRate"))); for (int i = 0; i < GameNumber.Length; i++) { string str = GameNumber[i].ToString(); StrId += str.Split('(')[0].ToString() + ",";//表t_SingleRate的id } //通过id获取详细信息 sc.GetPassRateAsync(StrId); sc.GetPassRateCompleted += new EventHandler<GetPassRateCompletedEventArgs>(sc_GetPassRateCompleted); }