/// <summary> /// 将messagebody变量加入到该类型的群中 /// </summary> /// <param name="body"></param> /// <param name="source"></param> /// <returns></returns> private C_Global.CEnum.Message_Body[,] PutIntoNewMsgBody(C_Global.CEnum.Message_Body[,] body, C_Global.CEnum.Message_Body[,] source, int sourcePos) { try { C_Global.CEnum.Message_Body[,] tempBody = null; if (body == null) { body = new CEnum.Message_Body[1, source.GetLength(1)]; for (int j = 0; j < source.GetLength(1); j++) { body[0, j].eName = source[sourcePos, j].eName; body[0, j].eTag = source[sourcePos, j].eTag; body[0, j].oContent = source[sourcePos, j].oContent; } } else { tempBody = new CEnum.Message_Body[body.GetLength(0) + 1, body.GetLength(1)]; for (int i = 0; i < body.GetLength(0); i++) { for (int j = 0; j < body.GetLength(1); j++) { tempBody[i, j].eName = body[i, j].eName; tempBody[i, j].eTag = body[i, j].eTag; tempBody[i, j].oContent = body[i, j].oContent; } } for (int m = 0; m < tempBody.GetLength(1); m++) { tempBody[tempBody.GetLength(0) - 1, m].eName = source[sourcePos, m].eName; tempBody[tempBody.GetLength(0) - 1, m].eTag = source[sourcePos, m].eTag; tempBody[tempBody.GetLength(0) - 1, m].oContent = source[sourcePos, m].oContent; } body = tempBody; } } catch (Exception ex) { throw new Exception(ex.Message); } return(body); }
/// <summary> /// 鼠豢暮翹 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRecord_Click(object sender, EventArgs e) { if (this.TxtCode.CheckedItems.Count <= 0) { MessageBox.Show("請選擇要查詢的大區?"); return; } GrdList.DataSource = null; DataTable dtResult = null; bool newTable = true; for (int i = 0; i < TxtCode.CheckedItems.Count; i++) { string serverIp = Operation_RCode.GetItemAddr(mChannelInfo, TxtCode.CheckedItems[i].ToString()); CEnum.Message_Body[] mContent = new CEnum.Message_Body[1]; mContent[0].eName = CEnum.TagName.RayCity_ServerIP; mContent[0].eTag = CEnum.TagFormat.TLV_STRING; mContent[0].oContent = serverIp; CEnum.Message_Body[,] mResult = null; lock (typeof(C_Event.CSocketEvent)) { mResult = Operation_RCode.GetResult(m_ClientEvent, CEnum.ServiceKey.RayCity_BoardList_Query, mContent); } if (mResult[0, 0].eName == CEnum.TagName.ERROR_Msg) { //MessageBox.Show(mResult[0, 0].oContent.ToString()); break; } CEnum.Message_Body[,] mResult2 = new CEnum.Message_Body[mResult.GetLength(0), mResult.GetLength(1) + 1]; for (int k = 0; k < mResult2.GetLength(0); k++) { for (int j = 0; j < mResult2.GetLength(1); j++) { if (j == mResult2.GetLength(1) - 1) { mResult2[k, j].eName = CEnum.TagName.RayCity_ServerIP; mResult2[k, j].eTag = CEnum.TagFormat.TLV_STRING; mResult2[k, j].oContent = serverIp; } else { mResult2[k, j].eName = mResult[k, j].eName; mResult2[k, j].eTag = mResult[k, j].eTag; mResult2[k, j].oContent = mResult[k, j].oContent; } } } DataTable table = Operation_RCode.GetDataTable(this.m_ClientEvent, mResult2, out iPageCount); if (newTable) { dtResult = table; newTable = false; } else { dtResult.Merge(table); } } if (dtResult == null) { MessageBox.Show("公告记录不存在!"); } else { GrdList.DataSource = dtResult; } }