Artikel ini merekodkan bahawa apabila mengetuai ahli membangunkan fungsi modul kecil, mereka perlu menggunakan tetingkap timbul untuk memuatkan pilihan unit lata seperti pokok, dan akhirnya memutuskan untuk menggunakan pemalam jQuery EasyUI untuk pembangunan. Walau bagaimanapun, saya menghadapi banyak masalah apabila menggunakan pemalam pokok dalam EasyUI. Untuk meningkatkan kelajuan paparan pokok pop timbul, kami menggunakan pemuatan tak segerak bagi nilai nod Pertama, nod akar dimuatkan, dan kemudian nod anak dimuatkan mengikut nod yang diklik.
Selalunya keputusan adalah berbeza daripada apa yang dijangkakan Saya telah keliru selama beberapa hari Selepas pengembangan, nod kanak-kanak dimuatkan secara dinamik, tetapi selepas mengecut, data yang diisi sebelum ini tidak dapat dikosongkan untuk kali kedua , nod anak dimuatkan sekali lagi, data dipaparkan berulang kali, dan tiada kaedah untuk mengosongkan nod anak. Selepas mencuba pelbagai cara untuk menyelesaikan masalah ini, kami hanya boleh memuatkan nilai nod anak dalam bentuk lain Simpan setiap nilai nod dan tentukan sama ada ia sudah wujud, muatkannya tanpa memuatkan.
Lihat contoh untuk dua kaedah:
页面getTreeNode.ashx返回树节点JSON格式数据:
kelas awam getTreeNode : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "teks/plain";
DataTable dt = (DataTable)context.Session["viewmaintain"];
rentetan parentId = rentetan.Kosong;
rentetan keputusanStr = rentetan.Kosong;
atribut rentetan = rentetan.Kosong;
rentetan colName = rentetan.Kosong;
rentetan sql = rentetan.Kosong;
rentetan Casname = rentetan.Kosong;
bool colt = palsu;
ikon rentetan = "ikon-profil";
if (!string.IsNullOrEmpty(context.Request.QueryString["pid"]))
{
parentId = context.Request.QueryString["pid"].ToString();
}
if ((!string.IsNullOrEmpty(context.Request.QueryString["coln"])) && (string.IsNullOrEmpty(context.Request.QueryString["casn"])))
{
colName = HttpUtility.UrlDecode(context.Request.QueryString["coln"].ToString());
jika (dt != null)
{
bool pt = benar;
manakala (pt)
{
untuk (int i = 0; i < dt.Rows.Count; i )
{
Casname = dt.Rows[i]["view_colname"].ToString();
if (dt.Rows[i]["view_colname"].ToString() == colName)
{
if (dt.Rows[i]["view_cas"].ToString() != null&&dt.Rows[i]["view_cas"].ToString() !="")
{
colName = dt.Rows[i]["view_cas"].ToString();
}
lain
{
kuda jantan = benar;
sql = dt.Rows[i]["view_sql"].ToString();
pt = palsu;
}
rehat;
}
}
}
}
}
if ((!string.IsNullOrEmpty(context.Request.QueryString["casn"])) && (!string.IsNullOrEmpty(context.Request.QueryString["coln"])))
{
rentetan casnName = HttpUtility.UrlDecode(context.Request.QueryString["casn"].ToString());
colName = HttpUtility.UrlDecode(context.Request.QueryString["coln"].ToString());
jika (dt != null)
{
untuk (int i = 0; i < dt.Rows.Count; i )
{
Casname = dt.Rows[i]["view_colname"].ToString();
if (dt.Rows[i]["view_cas"].ToString() == casnName && casnName != colName)
{
kuda jantan = benar;
sql = dt.Rows[i]["view_sql"].ToString();
rehat;
}
}
}
}
cuba
{
jika (parentId != "" && colt == benar)
{
//此处省略得到数据列表的代码
Senaraikan
resultStr = "";
resultStr = "[";
jika (ltree.Count > 0)
{
foreach (item TreeInfo dalam ltree)
{
atribut = "";
atribut = "{"cas":"" Casname;
atribut = "","val":"" item._text ""}";
resultStr = "{";
resultStr = string.Format(""id": "{0}", "text": "{1}", "iconCls": "{2}", "attributes": {3}, "state": " ditutup"", item._id, item._text, ikon, atribut);
resultStr = "},";
}
resultStr = resultStr.Substring(0, resultStr.Length - 1);
}
resultStr = "]";
}
lain
{
resultStr = "[]";
}
}
tangkapan (Exception ex)
{
resultStr = "出错";
}
context.Response.Write(resultStr);
}
public bool Boleh Digunakan Semula
{
dapatkan
{
pulangkan palsu;
}
}
}
小弟在此献丑了,不知道各位专家、同仁有没有遇到类似的问题到类似的问题家家他办法,欢迎在这交流。