179 lines
9.1 KiB
C#
179 lines
9.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Web;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
||
using HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
||
|
||
namespace SuperMap.RealEstate.MainTenance.Storage.Modules.ServerPartMaterial
|
||
{
|
||
public partial class BasePage : SuperMap.RealEstate.Web.UI.PageValid
|
||
{
|
||
#region 方法 -> 绑定服务区树(根据服务区枚举值进行绑定)
|
||
/// <summary>
|
||
/// 绑定服务区树(根据服务区枚举值进行绑定)
|
||
/// </summary>
|
||
/// <param name="Typeid">服务区枚举类别内码</param>
|
||
/// <param name="Pid">父级内码</param>
|
||
/// <param name="Nodes">树节点</param>
|
||
/// <param name="ObscureName">查询条件:服务区名称</param>
|
||
/// <param name="WithChildNodes">是否展示子节点</param>
|
||
/// <param name="BindEncrypted">是否加密显示节点值域</param>
|
||
/// <param name="ID_Encrypt">加密内码参数</param>
|
||
/// <param name="_DataAll">服务区枚举列表</param>
|
||
/// <param name="ServerPartTable">服务区数据列表,用于判断对应枚举是否为服务区,跳转页面时可传递服务区参数</param>
|
||
/// <param name="_NavigateUrl">树节点跳转地址</param>
|
||
/// <param name="ShowShopTree">是否显示门店节点</param>
|
||
/// <param name="ShopNavigateUrl">门店节点跳转地址</param>
|
||
/// <param name="ShopTable">门店数据源</param>
|
||
public void BindingTreeView_Enum(string Typeid, string Pid, TreeNodeCollection Nodes, string ObscureName, bool WithChildNodes,
|
||
bool BindEncrypted, string ID_Encrypt, DataTable _DataAll, DataTable ServerPartTable, string _NavigateUrl,
|
||
bool ShowShopTree = false, string ShopNavigateUrl = "", DataTable ShopTable = null,string _UrlParmat = null)
|
||
{
|
||
string _ServerpartID = ""; //服务区内码
|
||
DataRow[] _DataRowList = null; //服务区枚举集合
|
||
if (_DataAll == null)
|
||
{
|
||
//查询服务区枚举列表
|
||
_DataAll = GetBindingDataSource(Typeid, "", string.Empty);
|
||
}
|
||
|
||
_DataRowList = _DataAll.Select("FieldEnum_PID = " + Pid);
|
||
foreach (DataRow _DataRow in _DataRowList)
|
||
{
|
||
TreeNode _Node = new TreeNode();
|
||
if (_DataRow["FieldEnum_Name"].ToString() == "贵州高投" && _DataRow["FieldEnum_Value"].ToString() == "521001")
|
||
{
|
||
_Node.Text = "【" + _DataRow["FieldEnum_Value"].ToString() + "】服务公司本部";
|
||
}
|
||
else
|
||
{
|
||
_Node.Text = "【" + _DataRow["FieldEnum_Value"].ToString() + "】" + _DataRow["FieldEnum_Name"].ToString();
|
||
}
|
||
|
||
#region 获取服务区内码,用于树节点传递参数
|
||
if (ServerPartTable != null && ServerPartTable.Select("FIELDENUM_ID=" + _DataRow["FieldEnum_ID"].ToString()).Length > 0)
|
||
{
|
||
_ServerpartID = ServerPartTable.Select("FIELDENUM_ID=" + _DataRow["FieldEnum_ID"].ToString())[0]["SERVERPART_ID"].ToString();
|
||
_Node.Value = BindEncrypted ? _ServerpartID.ToEncrypt() : _ServerpartID;
|
||
_Node.ImageToolTip = "ServerPart";
|
||
_Node.ImageUrl = TreeNodeImageUrl.FieldEnum;
|
||
_Node.Expanded = false;
|
||
}
|
||
else
|
||
{
|
||
_ServerpartID = "0";
|
||
_Node.Value = BindEncrypted ? _DataRow["FieldEnum_ID"].ToEncrypt() : _DataRow["FieldEnum_ID"].ToString();
|
||
_Node.ImageToolTip = "FieldEnum";
|
||
_Node.ImageUrl = TreeNodeImageUrl.ExplainType;
|
||
_Node.Expanded = false;
|
||
}
|
||
#endregion
|
||
|
||
#region 绑定树节点跳转地址
|
||
if (!string.IsNullOrEmpty(_NavigateUrl))
|
||
{
|
||
if (_DataRow["FieldEnum_PID"].ToString() == "-1")
|
||
{
|
||
_Node.NavigateUrl = _NavigateUrl + (_NavigateUrl.Contains("?") ? "&" : "?") +
|
||
"PROVINCE_CODE=" + _DataRow["FieldEnum_Value"].ToEncrypt();
|
||
}
|
||
else
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(_ServerpartID) && _ServerpartID != "0")
|
||
{
|
||
_Node.NavigateUrl = _NavigateUrl + (_NavigateUrl.Contains("?") ? "&" : "?") +
|
||
"SERVERPART_ID=" + _ServerpartID.ToEncrypt();
|
||
|
||
#region ShowShopTree为true,则绑定门店节点
|
||
if (ShowShopTree)
|
||
{
|
||
foreach (DataRow ShopRow in ShopTable.Select("SERVERPART_ID = " + _ServerpartID))
|
||
{
|
||
TreeNode _ChildTreeNodeShop = new TreeNode();
|
||
_ChildTreeNodeShop.NavigateUrl = UriHelper.AddRequestToUrl("MATERIALList.aspx?SERVERPART_ID=" +
|
||
_ServerpartID.ToEncrypt() + "&SHOPREGION=" + ShopRow["SHOPREGION"].ToString().ToEncrypt(), null);
|
||
_ChildTreeNodeShop.Text = DictionaryHelper.GetFieldEnumName(
|
||
"SHOPREGION", ShopRow["SHOPREGION"].ToString(), Transaction);
|
||
_ChildTreeNodeShop.Value = BindEncrypted ? ShopRow["SHOPREGION"].ToEncrypt() : ShopRow["SHOPREGION"].ToString();
|
||
_ChildTreeNodeShop.Expanded = true;
|
||
_ChildTreeNodeShop.ImageToolTip = "SERVERPARTSHOP";
|
||
_Node.ChildNodes.Add(_ChildTreeNodeShop);
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
else
|
||
{
|
||
_Node.NavigateUrl = _NavigateUrl + (_NavigateUrl.Contains("?") ? "&" : "?") +
|
||
"FIELDENUM_ID=" + _DataRow["FieldEnum_ID"].ToEncrypt();
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
_Node.NavigateUrl = "javascript:void(0);";
|
||
}
|
||
#endregion
|
||
|
||
Nodes.Add(_Node);
|
||
_Node.PopulateOnDemand = true;
|
||
if (!string.IsNullOrEmpty(ObscureName) || WithChildNodes)
|
||
{
|
||
//循环绑定子节点
|
||
BindingTreeView_Enum(Typeid, _DataRow["FieldEnum_ID"].ToString(), _Node.ChildNodes, ObscureName, WithChildNodes,
|
||
BindEncrypted, ID_Encrypt, _DataAll, ServerPartTable, _NavigateUrl, ShowShopTree, ShopNavigateUrl, ShopTable);
|
||
_Node.PopulateOnDemand = false;
|
||
}
|
||
//显示查询的服务区名称
|
||
if (!string.IsNullOrEmpty(ObscureName))
|
||
{
|
||
if (_Node.ChildNodes.Count == 0)
|
||
{
|
||
if (_Node.Text.IndexOf(ObscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
|
||
{
|
||
Nodes.Remove(_Node);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
_Node.Expanded = true;
|
||
}
|
||
}
|
||
//若没有子节点则移除当前节点
|
||
if (_ServerpartID == "0" && _Node.ChildNodes.Count == 0)
|
||
{
|
||
Nodes.Remove(_Node);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region GetBindingDataSource
|
||
/// <summary />
|
||
public DataTable GetBindingDataSource(string fieldExplain_ID, string pid, string OtherCondition)
|
||
{
|
||
return GetBindingDataSource(fieldExplain_ID, pid, string.Empty, OtherCondition);
|
||
}
|
||
|
||
/// <summary />
|
||
public DataTable GetBindingDataSource(string fieldExplain_ID, string pid, string obscureName,
|
||
string OtherCondition, string orderindex = " ASC")
|
||
{
|
||
FieldEnum _FieldEnum = new FieldEnum(this.Transaction);
|
||
|
||
string _SQLStr1 = "SELECT FIELDENUM_ID,FIELDENUM_VALUE,FIELDENUM_NAME,FIELDENUM_STATUS,FIELDENUM_PID" +
|
||
" FROM T_FIELDENUM A WHERE FIELDEXPLAIN_ID = {0} {1} {2} {3} ORDER BY FIELDENUM_PID,FIELDENUM_INDEX" + orderindex;
|
||
string _SQLStr2 = string.IsNullOrEmpty(pid) ? "" : "AND FIELDENUM_PID = " + pid;
|
||
string _SQLStr3 = string.IsNullOrEmpty(obscureName) ? "" : "AND FIELDENUM_NAME LIKE '%" + obscureName + "%'";
|
||
string _SQLStr4 = string.IsNullOrEmpty(OtherCondition) ? "" : "AND " + OtherCondition;
|
||
string _SQLStr = string.Format(_SQLStr1, fieldExplain_ID, _SQLStr2, _SQLStr3, _SQLStr4);
|
||
|
||
return _FieldEnum.ExecuteDataTable(_SQLStr);
|
||
}
|
||
#endregion
|
||
}
|
||
} |