Advertisement
Advertisement
| 08.08.2008 at 05:53PM PDT, ID: 23634459 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: |
CODE BEHIND:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class UserControls_Workflow_CO2SearchResults : System.Web.UI.UserControl
{
private string _workflowConnectionString = ConfigurationManager.ConnectionStrings["WORKFLOWConnection"].ConnectionString;
protected ASP.PagerButton pagerBtn;
protected void Page_Init( object sender, EventArgs e )
{
this.GridViewSearchResults.Sorting += null;
this.GridViewSearchResults.Sorting += new GridViewSortEventHandler(this.GridViewSearchResults_Sorting);
}
protected void Page_Load( object sender, EventArgs e )
{
bool DoBuildGridView = true;
string[] DataKeyNames = { "ID" };
if (!Page.IsPostBack)
{
Cache.Remove("DataStore");
Session["sortDir"] = SortDirection.Ascending;
}
string tempArgument = Request.Params.Get("__EVENTARGUMENT");
if (tempArgument == "PAGERBUTTON")
{
string newvalue = Request.Params.Get("__EVENTTARGET");
GridViewSearchResults.PageIndex = Int32.Parse(newvalue);
// GridViewSearchResults_PageIndexChanging(Int32.Parse(newvalue), DataKeyNames);
Session["curPagerBtn"] = newvalue;
//DoBuildGridView = false;
}
if (tempArgument == "CHECKBOX")
{
string newvalue = Request.Params.Get("__EVENTTARGET");
}
if (DoBuildGridView)
{
this.BuildGridView(LocalSelectAllWorkitemTypes(), DataKeyNames);
}
}
public DataView LocalSelectAllWorkitemTypes()
{
DataSet ds = new DataSet();
if (Cache["DataStore"] == null)
{
using (SqlConnection connection = new SqlConnection(_workflowConnectionString))
{
using (SqlCommand command = new SqlCommand("SelectAllWorkitemTypesTEST", connection))
{
command.CommandType = CommandType.StoredProcedure;
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
adapter.Fill(ds);
}
}
}
//ds.Tables[0].Columns.Add("chk", typeof(CheckBoxField));
CheckBox cb = new CheckBox();
cb.Checked = true;
cb.Visible = true;
ds.Tables[0].Columns.Add("chk", typeof(CheckBox));
DataView dv = new DataView(ds.Tables[0]);
Cache["DataStore"] = dv;
return dv;
}
else
{
return (DataView)Cache["DataStore"];
}
}
private void BuildGridView(DataView dv, string[] DataKeyNames)
{
this.GridViewSearchResults.AutoGenerateColumns = false;
this.GridViewSearchResults.DataKeyNames = DataKeyNames;
this.GridViewSearchResults.Columns.Clear();
this.GridViewSearchResults.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
TemplateField tf = new TemplateField();
foreach (DataColumn dc in dv.Table.Columns)
{
//if (dc.DataType.UnderlyingSystemType.ToString() == "System.Web.UI.WebControls.CheckBox")
//{
// tf.HeaderTemplate = new GridViewCheckBoxColumn(5);
// tf.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
// tf.HeaderStyle.ForeColor = System.Drawing.Color.White;
// tf.HeaderStyle.BackColor = System.Drawing.Color.Black;
// tf.ItemStyle.VerticalAlign = VerticalAlign.Top;
// tf.ItemTemplate = new GridViewCheckBoxColumn(5);
//}
//else
//{
BoundField bf = new BoundField();
bf.HeaderText = dc.ColumnName;
bf.DataField = dc.ColumnName;
bf.HeaderStyle.ForeColor = System.Drawing.Color.White;
bf.HeaderStyle.BackColor = System.Drawing.Color.Black;
bf.SortExpression = dc.ColumnName;
this.GridViewSearchResults.Columns.Add(bf);
// }
}
this.GridViewSearchResults.Columns.Insert(0, tf);
this.GridViewSearchResults.DataSource = dv;
Cache["DataStore"] = dv;
this.GridViewSearchResults.DataBind();
// dv.Table.Clear();
dv.Table = ((DataView)this.GridViewSearchResults.DataSource).Table;
Cache["DataStore"] = dv;
foreach (DataRow dr in dv.Table.Rows)
{
System.Diagnostics.Debug.WriteLine(dr["chk"].GetType().ToString());
}
}
protected void GridViewSearchResults_RowDataBound( object sender, GridViewRowEventArgs e )
{
if ((e.Row.RowType == DataControlRowType.DataRow) || (e.Row.RowType == DataControlRowType.Header))
{
DataView dv = new DataView();
dv = (DataView)Cache["DataStore"];
CheckBox cb = new CheckBox();
cb.Checked = true;
cb.EnableViewState = true;
TableCell tc = new TableCell();
if (e.Row.RowType == DataControlRowType.Header)
{
tc.BackColor = System.Drawing.Color.Black;
tc.ForeColor = System.Drawing.Color.White;
}
else
{
string t = e.Row.Cells[0].Text;
cb.Text = t;
cb.ToolTip = t;
}
e.Row.Cells.AddAt(0, tc);
e.Row.Cells[0].Controls.Add(cb);
//DataSet ds = new DataSet();
//DataTable dt = new DataTable();
//ds.Tables.Add(dt);
// foreach (DataRow dr in dv.Table.Rows)
// {
// ds.Tables[0].Rows.Add(dr);
// }
//dv.Table.Columns[3]
int i = dv.Table.Columns.IndexOf("chk");
}
if (e.Row.RowType == DataControlRowType.Pager)
{
DataView dv = new DataView();
dv = (DataView)Cache["DataStore"];
if(dv.Table.Rows.Count > 0)
{
int recordcount = dv.Table.Rows.Count;
int pagecount = recordcount / this.GridViewSearchResults.PageSize;
for (int i = 0; i <= pagecount; i++)
{
pagerBtn = (ASP.PagerButton)LoadControl("~/UserControls/Workflow/PagerButton.ascx");
pagerBtn.SetButtonText = i.ToString();
pagerBtn.SetButtonText = i.ToString();
if (Session["curPagerBtn"] != null)
{
if (i.ToString() == (string)Session["curPagerBtn"])
{
pagerBtn.PagerButton.Enabled = false;
// pagerBtn.PagerButton.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Blue");
pagerBtn.PagerButton.Style.Add(HtmlTextWriterStyle.BorderColor, "Red");
}
else
{
pagerBtn.PagerButton.Enabled = true;
}
}
PlaceHolder ph = (PlaceHolder)e.Row.FindControl("phPager");
Label countItems = (Label)e.Row.FindControl("LabelTotalWorkItems");
countItems.Text = ("(" + recordcount.ToString() + " total work items)");
ph.Controls.Add(pagerBtn);
}
}
}
}
private void RememberOldValues()
{
ArrayList categoryIDList = new ArrayList();
int index = -1;
foreach (GridViewRow row in GridViewSearchResults.Rows)
{
index = (int)GridViewSearchResults.DataKeys[row.RowIndex].Value;
// bool result = ((CheckBox)row.FindControl("FRED")).Checked;
bool result = ((CheckBox)((DataControlFieldCell)row.Cells[0]).Controls[0]).Checked;
// Check in the Session
if (Session["CHECKED_ITEMS"] != null)
categoryIDList = (ArrayList)Session["CHECKED_ITEMS"];
if (result)
{
if (!categoryIDList.Contains(index))
categoryIDList.Add(index);
}
else
categoryIDList.Remove(index);
}
if (categoryIDList != null && categoryIDList.Count > 0)
Session["CHECKED_ITEMS"] = categoryIDList;
}
private void RePopulateValues()
{
ArrayList categoryIDList = (ArrayList)Session["CHECKED_ITEMS"];
if (categoryIDList != null && categoryIDList.Count > 0)
{
foreach (GridViewRow row in GridViewSearchResults.Rows)
{
int index = (int)GridViewSearchResults.DataKeys[row.RowIndex].Value;
if (categoryIDList.Contains(index))
{
CheckBox myCheckBox = (CheckBox)row.FindControl("chk");
myCheckBox.Checked = true;
}
}
}
}
protected void GridViewSearchResults_Sorting( object sender, GridViewSortEventArgs e )
{
DataView dv = new DataView();
dv = (DataView)Cache["DataStore"];
SortDirection sd = SortDirection.Ascending;
string newDir = "ASC";
if (Session["sortDir"] != null)
{
sd = (SortDirection)Session["sortDir"];
if (sd == SortDirection.Ascending)
{
newDir = "DESC";
Session["sortDir"] = SortDirection.Descending;
}
else
{
newDir = "ASC";
Session["sortDir"] = SortDirection.Ascending;
}
}
else
{
if (e.SortDirection == SortDirection.Ascending)
{
newDir = "ASC";
}
else
{
newDir = "DESC";
}
Session["sortDir"] = e.SortDirection;
}
string sortExp = e.SortExpression + " " + newDir;
dv.Sort = sortExp;
string[] DataKeyNames = { "ID" };
Cache["DataStore"] = dv;
BuildGridView(dv, DataKeyNames);
}
private void GridViewSearchResults_PageIndexChanging(int NewIndex, string[] DataKeyNames)
{
//RememberOldValues();
GridViewSearchResults.PageIndex = NewIndex;
BuildGridView((DataView)Cache["DataStore"], DataKeyNames);
//RePopulateValues();
}
protected void GridViewSearchResults_RowCreated( object sender, GridViewRowEventArgs e )
{
}
}
public class GridViewCheckBoxColumn : ITemplate
{
private int _id;
public GridViewCheckBoxColumn(int ID)
{
_id = ID;
}
public void InstantiateIn( Control container )
{
CheckBox cb = new CheckBox();
cb.Checked = false;
cb.EnableViewState = true;
//cb.DataBinding += new EventHandler(this.BindChecklistColumn);
container.Controls.Add(cb);
}
public void BindChecklistColumn( object sender, EventArgs e )
{
CheckBox cb = (CheckBox)sender;
GridViewRow container = (GridViewRow)cb.NamingContainer;
cb.ID = Convert.ToString(DataBinder.Eval(((GridViewRow)container).DataItem, "chk"));
}
}
|