public string SelectContent(string excelfilename) { string debugText = ""; string fileType = System.IO.Path.GetExtension(excelfilename); if (!string.IsNullOrEmpty(fileType)) { bool hasTitle = false; using (DataSet ds = new DataSet()) { string strCon = string.Format("Provider=Microsoft.{0}.OLEDB.{1}.0;" + "Extended Properties=\"Excel {2}.0;HDR={3};IMEX=1;\";" + "data source={4};", (fileType == ".xls" ? "JET" : "ACE"), (fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), (hasTitle ? "Yes" : "NO"), excelfilename); using (OleDbConnection myConn = new OleDbConnection(strCon)) { myConn.Open(); string[] Tablename = { "" };//CommonFunction.GetExcelTableList(myConn); int TableCount = Tablename.Count(); for (int i = 0; i < TableCount; i++) { ds.Clear(); string strCom = " SELECT * FROM [" + Tablename[i] + "]"; using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn)) { myCommand.Fill(ds); if (ds != null && ds.Tables.Count > 0) { DataTable TableTemp = ds.Tables[0];; DataRow[] Rows = TableTemp.Select(); int ColumnCount = TableTemp.Columns.Count; string[] Columnname = new string[ColumnCount]; string[] ColumnCap = new string[ColumnCount]; for (int j = 0; j < ColumnCount; j++) { Columnname[j] = TableTemp.Columns[j].ColumnName; ColumnCap[j] = Rows[0][Columnname[j]].ToString(); } string[] CurrentTabelTag = new string[KeyNumber]; bool b_NeedNewSelection = false; for (int k = 0; k < KeyIdxList.Count; k++) { b_NeedNewSelection = false; for (int m = 0; m < KeyNumber; m++) { CurrentTabelTag[m] = ColumnCap[KeyIdxList[k][m]]; //KeyIdx if (CurrentTabelTag[m] != CurrentKeyTag[m]) { b_NeedNewSelection = true; } } if (!b_NeedNewSelection) { CurrentKeySet = k; break; } } if (b_NeedNewSelection) { int[] keyidx = new int[KeyNumber]; KeyIdxList.Add(keyidx); CurrentKeySet = KeyIdxList.Count - 1; SelectContent TerminForm = new SelectContent(KeyNumber, TableColumnTag); TerminForm.Text = "Sheet: " + Tablename[i]; TerminForm.SetContent(ColumnCap); TerminForm.ShowDialog(this); /* debugText += "Sheet " + Tablename[i] + ":";// Original Tag:" + KeyIdx[0].ToString() + " " + CurrentKeyTag[0] + " Target Tag:" + KeyIdx[1].ToString() + " " + CurrentKeyTag[1] + "\r\n"; * for (int m = 0; m < KeyNumber; m++) * { * CurrentKeyTag[m] = ColumnCap[KeyIdxList[CurrentKeySet][m]]; * debugText += "Column "+ KeyIdxList[CurrentKeySet][m].ToString() + ":" + CurrentKeyTag[m]+"\t"; * } * debugText += "\r\n"; */ } // else // { // debugText += "Sheet " + Tablename[i] + "have the same structure, ignore selection!\r\n"; // } debugText += "Sheet " + Tablename[i] + ":";// Original Tag:" + KeyIdx[0].ToString() + " " + CurrentKeyTag[0] + " Target Tag:" + KeyIdx[1].ToString() + " " + CurrentKeyTag[1] + "\r\n"; for (int m = 0; m < KeyNumber; m++) { CurrentKeyTag[m] = ColumnCap[KeyIdxList[CurrentKeySet][m]]; debugText += "Column " + KeyIdxList[CurrentKeySet][m].ToString() + ":" + CurrentKeyTag[m] + "\t"; } debugText += "\r\n"; for (int j = 1; j < Rows.Count(); j++) { bool need_append = false; string[] tempVal = new string[KeyNumber]; for (int m = 0; m < KeyNumber; m++) { tempVal[m] = Rows[j][Columnname[KeyIdxList[CurrentKeySet][m]]].ToString(); if (tempVal[m] != "") { need_append = true; } } if (need_append) { DataRow dw = SelectedTable.NewRow(); for (int m = 0; m < KeyNumber; m++) { dw[TableColumnTag[m]] = tempVal[m]; } dw["Source"] = Tablename[i]; SelectedTable.Rows.Add(dw); } } } } } myConn.Close(); } } } KeyIdxList.Clear(); return(debugText); }
/// <summary> /// 产生规则的信息 /// </summary> /// <param name="index"></param> void SpwanMethod(int index) { int num_MultiChoiceBtn = 0; //表示隐藏多选按钮数量 //int num_OnlyOneChoice = 0; //表示隐藏多选按钮数量 MahjongCommonMethod mcm = MahjongCommonMethod.Instance; MahjongLobby_AH.Data.CreatRoomMessagePanelData cd = MahjongLobby_AH.GameData.Instance.CreatRoomMessagePanelData; //删除规则 for (int i = 0; i < RuleParent.Length - 1; i++) { Toggle[] tog = new Toggle[RuleParent[i].GetComponentsInChildren <Toggle>().Length]; tog = RuleParent[i].GetComponentsInChildren <Toggle>(); if (tog.Length > 0) { for (int k = 0; k < tog.Length; k++) { Destroy(tog[k].gameObject); } } } #region 托管条显示不显示 /////////////////////////////////////////////////////////// if (cd.roomMessage_[5] > 0) { TuoGuan.SetActive(true); GameObject gotuoguan = null; m_GameRule.enabled = true; m_GameRule.transform.GetChild(0).GetChild(0).transform.SetParent(m_GameRule.transform.GetChild(0)); m_GameRule.transform.GetChild(0).GetChild(0).transform.localPosition = new Vector3(0, 0, 0); for (int i = 0; i < 4; i++) { gotuoguan = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/OnlyOneChoice")); gotuoguan.GetComponent <Toggle>().group = RuleParent[3].GetComponent <ToggleGroup>(); gotuoguan.name = "OnlyOneChoice"; gotuoguan.transform.SetParent(RuleParent[3].transform); gotuoguan.transform.localPosition = new Vector3(gotuoguan.transform.localPosition.x, gotuoguan.transform.localPosition.y, 0); gotuoguan.transform.localScale = Vector3.one; gotuoguan.transform.Find("Label").GetComponent <Text>().text = MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i]; gotuoguan.GetComponent <Toggle>().interactable = false; int LateTime = 0; if (i != 0) { string str = MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i]; str = str.Substring(0, MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i].Length - 1); LateTime = (Convert.ToInt32(str) / 60); } if (cd.roomMessage_[5] == LateTime) { gotuoguan.GetComponent <Toggle>().isOn = true; } else { gotuoguan.GetComponent <Toggle>().isOn = false; } } } else { TuoGuan.SetActive(false); m_GameRule.enabled = false; } if (MahjongCommonMethod.Instance.ReadColumnValue(cd.roomMessage_, 2, 39) == 2) { RuleParent[4].transform.GetChild(0).GetComponent <Toggle>().isOn = true; RuleParent[4].transform.GetChild(1).GetComponent <Toggle>().isOn = false; } else if (MahjongCommonMethod.Instance.ReadColumnValue(cd.roomMessage_, 2, 39) <= 1) { RuleParent[4].transform.GetChild(0).GetComponent <Toggle>().isOn = false; RuleParent[4].transform.GetChild(1).GetComponent <Toggle>().isOn = true; } if (RuleParent[0].GetComponentsInChildren <Transform>().Length < 1) { RuleParent[0].transform.parent.gameObject.SetActive(false); } else { RuleParent[0].transform.parent.gameObject.SetActive(true); } if (PlayGoldModth.activeSelf) { m_GameRule.enabled = true; } #endregion if (!mcm._dicMethodCardType.ContainsKey(index)) { RuleParent_.SetActive(false); return; } RuleParent_.SetActive(true); //该玩法有多个规则可以实现 for (int i = 0; i < mcm._dicMethodCardType[index].Count; i++) { GameObject go = null; //如果该玩法为多选 if (mcm._dicmethodToCardType[index][i].Choice == 2) { go = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/MultiChoiceBtn")); go.name = "MultiChoiceBtn"; if (mcm._dicmethodToCardType[index][i].Hierarchy == 1) { num_MultiChoiceBtn++; } else { RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].GetComponent <GridLayoutGroup>().padding.left = 65; go.transform.Find("Label").transform.localPosition += new Vector3(20, 0, 0); } } else { go = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/OnlyOneChoice")); go.GetComponent <Toggle>().group = RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].GetComponent <ToggleGroup>(); go.name = "OnlyOneChoice"; } bool status = mcm.JudgeIsShow(mcm._dicmethodToCardType[index][i].RuleId); if (status) { for (int k = 0; k < mcm._dicMethodCardType[index].Count; k++) { if (mcm._dicMethodCardType[index][i].ID == mcm._dicmethodToCardType[index][i].RuleId) { SelectContent.Add(mcm._dicMethodCardType[index][i].notes); break; } } } go.transform.SetParent(RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].transform); go.transform.localPosition = new Vector3(go.transform.localPosition.x, go.transform.localPosition.y, 0); go.transform.localScale = Vector3.one; go.transform.Find("Label").GetComponent <Text>().text = mcm._dicMethodCardType[index][i].card_type; go.GetComponent <Toggle>().interactable = false; if (status) { go.transform.Find("Label").GetComponent <Text>().color = new Color(1, 0, 0, 1);//红色 选中为红色 go.GetComponent <Toggle>().isOn = true; } } if (num_MultiChoiceBtn <= 4) { RuleParent[0].GetComponentInParent <LayoutElement>().minHeight = 70f; } else { RuleParent[0].GetComponentInParent <LayoutElement>().minHeight = 120f; } //if (num_OnlyOneChoice == 0) //{ // RuleParent[1].SetActive(false); // RuleParent[2].SetActive(false); //} //else //{ // RuleParent[1].SetActive(true); // RuleParent[2].SetActive(true); //} RuleParent_.GetComponent <LayoutElement>().minHeight = 170f + (int)((num_MultiChoiceBtn) / 4f - 0.5f) * 50f; }
public void SelectContent(SelectContent value, Action<dynamic> yield) { WithConnection( c => { value.ExecuteReader(c).WithEach(yield); } ); }