using System; using System.Collections.Generic; using System.Web.UI.WebControls; using GThinking.N_CONTROL; namespace GThinking.N_XLXSBJ { /// /// 外部线缆产品导入 — 线缆报价等效替换(XLXSBJDXTHDZQD)统一列表,通过 THLX 区分各子类型。 /// public partial class XLBJD_WBBJDDXDZQDList : XLBJD_WBBJDDXListBase { private const string ViewStateThLxKey = "WBBJDDXDZQD_THLX"; private string _thLx = ""; protected override string ThLx { get { return _thLx; } } protected override gtGridView GridControl { get { return grdContentGrid; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { _thLx = PageParam.GetRTrimString("THLX"); if (!XLBJD_WBBJDDXListBase.IsSupportedDxdThLx(_thLx)) { ShowMessage("缺少或无效的替换类型参数 THLX。"); return; } ViewState[ViewStateThLxKey] = _thLx; } else { object o = ViewState[ViewStateThLxKey]; _thLx = o == null ? "" : o.ToString().Trim(); if (!XLBJD_WBBJDDXListBase.IsSupportedDxdThLx(_thLx)) { ShowMessage("会话中的替换类型无效,请重新打开。"); return; } } ApplyGridColumnVisibility(); SetPageTitle(); DXList_Page_Load(sender, e); } private void SetPageTitle() { string title; if (!ThLxTitles.TryGetValue(_thLx, out title)) title = "线缆报价等效替换"; Page.Title = title; } private static readonly Dictionary ThLxTitles; static XLBJD_WBBJDDXDZQDList() { ThLxTitles = new Dictionary(StringComparer.Ordinal); ThLxTitles.Add("DYDJJQTH", "电压等级精确等效"); ThLxTitles.Add("XHGGDYDJJQTH", "型号规格电压等级精确等效"); ThLxTitles.Add("XHGGJQTH", "型号规格精确等效"); ThLxTitles.Add("XHDYDJJQTH", "型号电压等级精确等效"); ThLxTitles.Add("XHZZDYDJJQTHDYDJ", "型号正则电压等级精确等效电压等级"); ThLxTitles.Add("XHJQTH", "型号精确等效"); ThLxTitles.Add("XHZZTH", "型号正则等效"); ThLxTitles.Add("GGZZTH", "规格正则等效"); } private void ApplyGridColumnVisibility() { Dictionary visible = XLBJD_WBBJDDXListBase.GetVisibleDataFieldsForThLx(_thLx); if (visible == null) return; foreach (DataControlField col in grdContentGrid.Columns) { BoundField bf = col as BoundField; if (bf == null) continue; bf.Visible = visible.ContainsKey(bf.DataField); } } } }