Files
Umbraco-CMS/components/macroRenderings/tabPicker.cs
Shandem f6d0d043b5 DO NOT DOWNLOAD. DOWNLOAT LATEST STABLE FROM RELEASE TAB
Created 4.1.0 branch

[TFS Changeset #55082]
2009-06-19 07:39:16 +00:00

127 lines
3.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using umbraco.DataLayer;
using umbraco.interfaces;
namespace umbraco.macroRenderings
{
/// <summary>
/// Summary description for tabPicker.
/// </summary>
public class tabPicker : System.Web.UI.WebControls.ListBox, interfaces.IMacroGuiRendering
{
string _value = "";
bool _multiple = false;
private static ISqlHelper _sqlHelper;
private static string _ConnString = GlobalSettings.DbDSN;
public bool ShowCaption
{
get {return true;}
}
public virtual bool Multiple
{
set {_multiple = value;}
get {return _multiple;}
}
public string Value
{
get
{
string retVal = "";
foreach(System.Web.UI.WebControls.ListItem i in base.Items)
if (i.Selected)
retVal += i.Value + ",";
if (retVal != "")
retVal = retVal.Substring(0, retVal.Length-1);
return retVal;
}
set
{
_value = value;
}
}
public static ISqlHelper SqlHelper {
get {
if (_sqlHelper == null) {
try {
_sqlHelper = DataLayerHelper.CreateSqlHelper(_ConnString);
} catch { }
}
return _sqlHelper;
}
}
public tabPicker()
{
//
// TODO: Add constructor logic here
//
}
protected override void OnInit(EventArgs e)
{
base.OnInit (e);
this.CssClass = "guiInputTextStandard";
// Check for multiple choises
if (_multiple)
{
this.SelectionMode = System.Web.UI.WebControls.ListSelectionMode.Multiple;
this.Rows = 5;
this.Multiple =true;
}
else
{
this.Rows = 1;
this.Items.Add(new System.Web.UI.WebControls.ListItem("", ""));
this.SelectionMode = System.Web.UI.WebControls.ListSelectionMode.Single;
}
//SqlDataReader dr = SqlHelper.ExecuteReader(GlobalSettings.DbDSN, CommandType.Text, "select distinct text from cmsTab order by text");
using (IRecordsReader dr = SqlHelper.ExecuteReader("select distinct text from cmsTab order by text")) {
while (dr.Read()) {
System.Web.UI.WebControls.ListItem li = new System.Web.UI.WebControls.ListItem(dr.GetString("text"), dr.GetString("text").ToLower());
if (((string)(", " + _value + ",")).IndexOf(", " + dr.GetString("text").ToLower() + ",") > -1)
li.Selected = true;
this.Items.Add(li);
}
}
/*
while (dr.Read())
{
System.Web.UI.WebControls.ListItem li = new System.Web.UI.WebControls.ListItem(dr["text"].ToString(), dr["text"].ToString().ToLower());
if (((string) (", "+_value+",")).IndexOf(", "+dr["text"].ToString().ToLower()+",") > -1)
li.Selected = true;
this.Items.Add(li);
}
dr.Close();*/
}
}
}