using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ExpenseRecord.Model;
using ExpenseRecord.BLL;
using System.Data.SqlClient;
using System.Data;
namespace ExpenseRecord.myBureau.MessageBook
{
public partial class LeftMenu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void GetMyBureau()
{
DataSet TreeBookGroup = new DataSet(); //創建DataSet對象:通訊簿分組
DataSet TreeMessageBooks = new DataSet(); //創建DataSet對象:通訊簿
TreeBookGroup = MesBookGroupBLL.GetList(" UserId=" + SessionInclude.SessionId + " order by MesGroupNum asc "); //給DataSet賦值:通訊簿分組
TreeMessageBooks = MessageBooksBLL.GetList("UserId=" + SessionInclude.SessionId + " order by MesName asc "); //給DataSet賦值:通訊簿
int CountBookGroup = TreeBookGroup.Tables[0].Rows.Count; //根據指定條件,獲取該數據條數:通訊簿分組
int CountMessageBooks = TreeMessageBooks.Tables[0].Rows.Count; //根據指定條件,獲取該數據條數:通訊簿
//判斷數據大於0
if (CountBookGroup > 0)
{
#region 動態二級菜單開始
Response.Write("<div class=/"box/">");
Response.Write("<h2>可高亮帶緩衝的二級摺疊菜單</h2>");
Response.Write("<ul class=/"menu/">");
Response.Write("<li class=/"level1/"><a href=/"#none/">聯繫人分組</a>");
Response.Write("<ul class=/"level2/">");
//通過循環,遍歷通訊簿信息
for (int i = 0; i < CountBookGroup; i++)
{
Response.Write("<li><a href=/"#none/">" + TreeBookGroup.Tables[0].Rows[i]["MesGroupName"].ToString() + "</a></li>");
}
Response.Write("</ul>");
Response.Write("</li>");
Response.Write("<li class=/"level1/"><a href=/"#none/">索引(按姓氏)</a>");
//判斷數據大於0
if (CountMessageBooks > 0)
{
Response.Write("<ul class=/"level2/">");
string[] strTransform = TransformValue(TreeMessageBooks, "MesName");
for (int i = 0; i < strTransform.Length; i++)
{
if (strTransform[i] != "")
{
Response.Write("<li><a href=/"#none/">" + strTransform[i] + "</a></li>");
}
}
Response.Write("</ul>");
}
Response.Write("</li>");
Response.Write("<li class=/"level1/"><a href=/"searchBureau.aspx/" target=/"main_con/">查找(關鍵字)</a>");
Response.Write("</li> ");
Response.Write("<li class=/"level1/"><a href=/"#none/">管理分組</a></li>");
Response.Write("</ul>");
Response.Write("</div>");
#endregion 動態二級菜單結束
}
}
public string[] TransformValue(DataSet ds,string ColumnName)
{
Transform transform = new Transform(); //創建Transform對象:將漢字轉化爲對應的大寫字母
DataSet dsSerch = new DataSet();
int Count = ds.Tables[0].Rows.Count; //數據條數
string strUpperValue = "";
string[] strTransform = new string[23] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" };
int[] intTransform = new int[23] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
string[] strName = new string[23] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" };
//至少一條數據
if (Count > 0)
{
//循環遍歷數據
for (int i = 0; i < Count; i++)
{
string strColumnName1 = ds.Tables[0].Rows[i][ColumnName].ToString(); //獲取讀取到的數據
//模糊出該數據的值
dsSerch = MessageBooksBLL.GetList(" MesName like '" + strColumnName1 + "%' order by MesName asc");
int SerchCount = dsSerch.Tables[0].Rows.Count;
#region if(修正)
if (SerchCount > 0)
{
string strColumnName2 = dsSerch.Tables[0].Rows[0][ColumnName].ToString(); //獲取讀取到的數據
if (strColumnName2 != "")
{
strUpperValue = transform.Extract_HZ(strColumnName2); //轉化爲大寫之後,取得返回值
strColumnName2 = strColumnName2.Substring(0, 1);
if (strUpperValue == "")
{
strUpperValue = strColumnName2.Substring(0, 1);
}
switch (strUpperValue)
{
case "A":
//計算該姓氏下的數據數目
intTransform[0] += SerchCount;
if (strName[0].Equals(""))
{
strName[0] += strColumnName2 + ",";
}
else
{
if (!(strName[0].Substring(strName[0].TrimEnd(',').Length - 1, strName[0].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[0] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[0] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[0].ToString() + ")" + " - " + strName[0].TrimEnd(',');
break;
case "B":
//計算該姓氏下的數據數目
intTransform[1] += SerchCount;
if (strName[1].Equals(""))
{
strName[1] += strColumnName2 + ",";
}
else
{
if (!(strName[1].Substring(strName[1].TrimEnd(',').Length - 1, strName[1].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[1] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[0] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[1].ToString() + ")" + " - " + strName[1].TrimEnd(',');
break;
case "C":
//計算該姓氏下的數據數目
intTransform[2] += SerchCount;
if (strName[2].Equals(""))
{
strName[2] += strColumnName2 + ",";
}
else
{
if (!(strName[2].Substring(strName[2].TrimEnd(',').Length - 1, strName[2].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[2] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[2] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[2].ToString() + ")" + " - " + strName[2].TrimEnd(',');
break;
case "D":
//計算該姓氏下的數據數目
intTransform[3] += SerchCount;
if (strName[3].Equals(""))
{
strName[3] += strColumnName2 + ",";
}
else
{
if (!(strName[3].Substring(strName[3].TrimEnd(',').Length - 1, strName[3].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[3] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[3] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[3].ToString() + ")" + " - " + strName[3].TrimEnd(',');
break;
case "E":
//計算該姓氏下的數據數目
intTransform[4] += SerchCount;
if (strName[4].Equals(""))
{
strName[4] += strColumnName2 + ",";
}
else
{
if (!(strName[4].Substring(strName[4].TrimEnd(',').Length - 1, strName[4].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[4] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[4] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[4].ToString() + ")" + " - " + strName[4].TrimEnd(',');
break;
case "F":
//計算該姓氏下的數據數目
intTransform[5] += SerchCount;
if (strName[5].Equals(""))
{
strName[5] += strColumnName2 + ",";
}
else
{
if (!(strName[5].Substring(strName[5].TrimEnd(',').Length - 1, strName[5].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[5] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[5] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[5].ToString() + ")" + " - " + strName[5].TrimEnd(',');
break;
case "G":
//計算該姓氏下的數據數目
intTransform[6] += SerchCount;
if (strName[6].Equals(""))
{
strName[6] += strColumnName2 + ",";
}
else
{
if (!(strName[6].Substring(strName[6].TrimEnd(',').Length - 1, strName[6].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[6] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[6] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[6].ToString() + ")" + " - " + strName[6].TrimEnd(',');
break;
case "H":
//計算該姓氏下的數據數目
intTransform[7] += SerchCount;
if (strName[7].Equals(""))
{
strName[7] += strColumnName2 + ",";
}
else
{
if (!(strName[7].Substring(strName[7].TrimEnd(',').Length - 1, strName[7].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[7] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[7] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[7].ToString() + ")" + " - " + strName[7].TrimEnd(',');
break;
case "J":
//計算該姓氏下的數據數目
intTransform[8] += SerchCount;
if (strName[8].Equals(""))
{
strName[8] += strColumnName2 + ",";
}
else
{
if (!(strName[8].Substring(strName[8].TrimEnd(',').Length - 1, strName[8].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[8] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[8] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[8].ToString() + ")" + " - " + strName[8].TrimEnd(',');
break;
case "K":
//計算該姓氏下的數據數目
intTransform[9] += SerchCount;
if (strName[9].Equals(""))
{
strName[9] += strColumnName2 + ",";
}
else
{
if (!(strName[9].Substring(strName[9].TrimEnd(',').Length - 1, strName[9].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[9] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[9] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[9].ToString() + ")" + " - " + strName[9].TrimEnd(',');
break;
case "L":
//計算該姓氏下的數據數目
intTransform[10] += SerchCount;
if (strName[10].Equals(""))
{
strName[10] += strColumnName2 + ",";
}
else
{
if (!(strName[10].Substring(strName[10].TrimEnd(',').Length - 1, strName[10].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[10] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[10] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[10].ToString() + ")" + " - " + strName[10].TrimEnd(',');
break;
case "M":
//計算該姓氏下的數據數目
intTransform[11] += SerchCount;
if (strName[11].Equals(""))
{
strName[11] += strColumnName2 + ",";
}
else
{
if (!(strName[11].Substring(strName[11].TrimEnd(',').Length - 1, strName[11].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[11] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[11] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[11].ToString() + ")" + " - " + strName[11].TrimEnd(',');
break;
case "N":
//計算該姓氏下的數據數目
intTransform[12] += SerchCount;
if (strName[12].Equals(""))
{
strName[12] += strColumnName2 + ",";
}
else
{
if (!(strName[12].Substring(strName[12].TrimEnd(',').Length - 1, strName[12].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[12] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[12] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[12].ToString() + ")" + " - " + strName[12].TrimEnd(',');
break;
case "O":
//計算該姓氏下的數據數目
intTransform[13] += SerchCount;
if (strName[13].Equals(""))
{
strName[13] += strColumnName2 + ",";
}
else
{
if (!(strName[13].Substring(strName[13].TrimEnd(',').Length - 1, strName[13].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[13] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[13] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[13].ToString() + ")" + " - " + strName[13].TrimEnd(',');
break;
case "P":
//計算該姓氏下的數據數目
intTransform[14] += SerchCount;
if (strName[14].Equals(""))
{
strName[14] += strColumnName2 + ",";
}
else
{
if (!(strName[14].Substring(strName[14].TrimEnd(',').Length - 1, strName[14].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[14] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[14] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[14].ToString() + ")" + " - " + strName[14].TrimEnd(',');
break;
case "Q":
//計算該姓氏下的數據數目
intTransform[15] += SerchCount;
if (strName[15].Equals(""))
{
strName[15] += strColumnName2 + ",";
}
else
{
if (!(strName[15].Substring(strName[15].TrimEnd(',').Length - 1, strName[15].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[15] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[15] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[15].ToString() + ")" + " - " + strName[15].TrimEnd(',');
break;
case "R":
//計算該姓氏下的數據數目
intTransform[16] += SerchCount;
if (strName[16].Equals(""))
{
strName[16] += strColumnName2 + ",";
}
else
{
if (!(strName[16].Substring(strName[16].TrimEnd(',').Length - 1, strName[16].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[16] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[16] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[16].ToString() + ")" + " - " + strName[16].TrimEnd(',');
break;
case "S":
//計算該姓氏下的數據數目
intTransform[17] += SerchCount;
if (strName[17].Equals(""))
{
strName[17] += strColumnName2 + ",";
}
else
{
if (!(strName[17].Substring(strName[17].TrimEnd(',').Length - 1, strName[17].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[17] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[17] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[17].ToString() + ")" + " - " + strName[17].TrimEnd(',');
break;
case "T":
//計算該姓氏下的數據數目
intTransform[18] += SerchCount;
if (strName[18].Equals(""))
{
strName[18] += strColumnName2 + ",";
}
else
{
if (!(strName[18].Substring(strName[18].TrimEnd(',').Length - 1, strName[18].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[18] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[18] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[18].ToString() + ")" + " - " + strName[18].TrimEnd(',');
break;
case "W":
//計算該姓氏下的數據數目
intTransform[19] += SerchCount;
if (strName[19].Equals(""))
{
strName[19] += strColumnName2 + ",";
}
else
{
if (!(strName[19].Substring(strName[19].TrimEnd(',').Length - 1, strName[19].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[19] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[19] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[19].ToString() + ")" + " - " + strName[19].TrimEnd(',');
break;
case "X":
//計算該姓氏下的數據數目
intTransform[20] += SerchCount;
if (strName[20].Equals(""))
{
strName[20] += strColumnName2 + ",";
}
else
{
if (!(strName[20].Substring(strName[20].TrimEnd(',').Length - 1, strName[20].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[20] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[20] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[20].ToString() + ")" + " - " + strName[20].TrimEnd(',');
break;
case "Y":
//計算該姓氏下的數據數目
intTransform[21] += SerchCount;
if (strName[21].Equals(""))
{
strName[21] += strColumnName2 + ",";
}
else
{
if (!(strName[21].Substring(strName[21].TrimEnd(',').Length - 1, strName[21].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[21] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[21] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[21].ToString() + ")" + " - " + strName[21].TrimEnd(',');
break;
case "Z":
//計算該姓氏下的數據數目
intTransform[22] += SerchCount;
if (strName[22].Equals(""))
{
strName[22] += strColumnName2 + ",";
}
else
{
if (!(strName[22].Substring(strName[22].TrimEnd(',').Length - 1, strName[22].TrimEnd(',').Length).Equals(strColumnName2)))
{
strName[22] += strColumnName2 + ",";
}
}
//連接出“Z(3) - Z 張”,類似形式的字符串
strTransform[22] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[22].ToString() + ")" + " - " + strName[22].TrimEnd(',');
break;
default:
break;
}
}
//查詢出數據之後,索引值改變
i = i + SerchCount - 1;
}
#endregion
}
}
return strTransform;
}
}
}