using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebForm.Controls.SelectDictionary { public partial class Default : Common.BasePage { protected string defaultValuesString = string.Empty; protected void Page_Load(object sender, EventArgs e) { RoadFlow.Platform.Dictionary Dict = new RoadFlow.Platform.Dictionary(); string values = Request.QueryString["values"]; string rootid = Request.QueryString["rootid"]; string datasource = Request.QueryString["datasource"]; string sql = Request.QueryString["sql"]; DataTable SqlDataTable = new DataTable(); if ("1" == datasource) { string dbconn = Request.QueryString["dbconn"]; RoadFlow.Platform.DBConnection conn = new RoadFlow.Platform.DBConnection(); var conn1 = conn.Get(dbconn.ToGuid()); SqlDataTable = conn.GetDataTable(conn1, sql.UrlDecode().ReplaceSelectSql()); } System.Text.StringBuilder defautlSB = new System.Text.StringBuilder(); foreach (string value in values.Split(',')) { switch (datasource) { case "0": default: Guid id; if (!value.IsGuid(out id)) { continue; } defautlSB.AppendFormat("
", value); defautlSB.Append(Dict.GetTitle(id)); defautlSB.Append("
"); break; case "1"://SQL string title1 = string.Empty; foreach (DataRow dr in SqlDataTable.Rows) { if (value == dr[0].ToString()) { title1 = SqlDataTable.Columns.Count > 1 ? dr[1].ToString() : value; break; } } defautlSB.AppendFormat("
", value); defautlSB.Append(title1); defautlSB.Append("
"); break; case "2"://url string url2 = Request.QueryString["url2"]; if (!url2.IsNullOrEmpty()) { url2 = url2.IndexOf('?') >= 0 ? url2 + "&values=" + value : url2 + "?values=" + value; System.Text.StringBuilder sb = new System.Text.StringBuilder(); try { System.IO.TextWriter tw = new System.IO.StringWriter(sb); Server.Execute(url2, tw); } catch (Exception err) { } defautlSB.AppendFormat("
", value); defautlSB.Append(sb.ToString()); defautlSB.Append("
"); } break; case "3"://table string dbconn = Request.QueryString["dbconn"]; string dbtable = Request.QueryString["dbtable"]; string valuefield = Request.QueryString["valuefield"]; string titlefield = Request.QueryString["titlefield"]; string parentfield = Request.QueryString["parentfield"]; string where = Request.QueryString["where"]; RoadFlow.Platform.DBConnection bdbconn = new RoadFlow.Platform.DBConnection(); var conn = bdbconn.Get(dbconn.ToGuid()); string sql2 = "select " + titlefield + " from " + dbtable + " where " + valuefield + "='" + value + "'"; DataTable dt = bdbconn.GetDataTable(conn, sql2.ReplaceSelectSql()); string title3 = string.Empty; if (dt.Rows.Count > 0) { title3 = dt.Rows[0][0].ToString(); } defautlSB.AppendFormat("
", value); defautlSB.Append(title3); defautlSB.Append("
"); break; } } defaultValuesString = defautlSB.ToString(); } protected override bool CheckApp() { return true;//base.CheckApp(); } } }