Advertisement
Advertisement
| 12.22.2007 at 07:56PM PST, ID: 23040347 |
|
[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: |
using System;
using System.Data;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.WebControls;
namespace DocumentWeb
{
[DefaultProperty("Text"),
ToolboxData("<{0}:DocumentWeb runat=server></{0}:DocumentWeb>"),
XmlRoot(Namespace = "DocumentWeb")]
public class DocumentWeb : Microsoft.SharePoint.WebPartPages.WebPart
{
#region Fields
const string defaultListFields = "Status;";
string _listFields = defaultListFields;
int _itemsToDisplay = 2;
int _numberofDays = 30;
private DataGrid grid;
private DataTable dt = new DataTable();
DataSet ds = new DataSet();
System.Collections.ArrayList ListColumns = new System.Collections.ArrayList();
System.Collections.ArrayList ArrayListfields = new System.Collections.ArrayList();
int ItemCount, RowCount, ColumnCount;
SPWeb web;
#endregion
#region Public Fields
[Browsable(true),
Category("Data"),
DefaultValue(30),
WebPartStorage(Storage.Personal),
FriendlyName("Number of Days"),
Description("")]
public int NumberofDays
{
get
{
return _numberofDays;
}
set
{
_numberofDays = value;
}
}
[Browsable(true),
Category("Data"),
DefaultValue(defaultListFields),
WebPartStorage(Storage.Personal),
FriendlyName("List fields"),
Description("Determines which fields for a specific list are used to display in the list.")]
public string ListFields
{
get
{
return _listFields;
}
set
{
_listFields = value;
}
}
[Browsable(true),
Category("Data"),
DefaultValue(2),
WebPartStorage(Storage.Personal),
FriendlyName("Items to display"),
Description("Number of new items to display.")]
public int ItemsToDisplay
{
get
{
return _itemsToDisplay;
}
set
{
_itemsToDisplay = value;
}
}
#endregion
protected override void CreateChildControls()
{
base.CreateChildControls();
web = SPControl.GetContextWeb(Context);
grid = new DataGrid();
grid.AllowPaging = true;
grid.PageSize = this.ItemsToDisplay;
grid.GridLines = GridLines.None;
grid.Width = System.Web.UI.WebControls.Unit.Percentage(100);
grid.HeaderStyle.BackColor = System.Drawing.Color.SlateGray;
grid.HeaderStyle.Font.Bold = true;
grid.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
grid.AlternatingItemStyle.BackColor = System.Drawing.Color.Gainsboro;
grid.PagerStyle.Mode = PagerMode.NextPrev;
grid.PagerStyle.NextPageText = "Next";
grid.PagerStyle.PrevPageText = "Prev";
grid.CurrentPageIndex = 0;
this.Controls.Add(grid);
ListColumns = GetListColumns();
this.grid.PageIndexChanged += new DataGridPageChangedEventHandler(this.grid_PageIndexChanging);
Gridbinder(web);
}
protected override void RenderWebPart(HtmlTextWriter output)
{
this.EnsureChildControls();
grid.RenderControl(output);
}
private void grid_PageIndexChanging(object sender, DataGridPageChangedEventArgs e)
{
grid.CurrentPageIndex = e.NewPageIndex;
grid.DataBind();
}
private void Gridbinder(SPWeb web)
{
System.Collections.ArrayList items = new System.Collections.ArrayList();
foreach (SPList list in web.Lists)
{
if (list.BaseType == SPBaseType.DocumentLibrary)
{
SPDocumentLibrary documentLibrary = (SPDocumentLibrary)list;
if (documentLibrary.IsCatalog == false && documentLibrary.Title != "Images" && documentLibrary.Title != "Pages" && documentLibrary.Title != "Style Library")
{
SPQuery query = new SPQuery();
query.Query = String.Format("<Where><Gt><FieldRef Name='Modified'/>" +
"<Value Type='DateTime' StorageTZ='TRUE'>{0}</Value></Gt></Where>", SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.UtcNow.AddDays(-this.NumberofDays)));
//query.RowLimit = (uint)this.ItemsToDisplay;
foreach (SPListItem listItem in list.GetItems(query))
{
items.Add(listItem);
}
}
}
}
for (ItemCount = items.Count - 1; ItemCount >= 0; ItemCount--)
{
// ItemCount >= (items.Count- this.ItemsToDisplay) &&
DataRow DRow = dt.NewRow();
SPListItem item = (SPListItem)items[ItemCount];
string url = item.ParentList.DefaultViewUrl;
url = url.Substring(0, Microsoft.VisualBasic.Strings.InStrRev(url, "/", url.Length - 1, Microsoft.VisualBasic.CompareMethod.Text));
url += "DispForm.aspx?ID=" + item.ID.ToString();
DRow[0] = "<a href='" + url + "'>" + item.DisplayName + "</a>";
DRow[1] = "<a href='" + item.ParentList.DefaultViewUrl.ToString() + "'>" + item.ParentList.Title + "</a>";
DRow[2] = "<img src='/_layouts/images/" + item.File.IconUrl.ToString() + "'>";
// = item.File.IconUrl.ToString() ;
for (RowCount = 0; RowCount <= ListColumns.Count - 1; RowCount++)
{
string FieldName = ListColumns[RowCount].ToString();
string LongField = string.Empty;
if (item[FieldName] != null)
{
LongField = item[FieldName].ToString();
}
if (LongField.Contains("#"))
{
DRow[RowCount + 3] = LongField.Substring(3);
}
else
{
DRow[RowCount + 3] = item[FieldName];
}
}
dt.Rows.Add(DRow);
}
ds.Tables.Add(dt);
grid.DataSource = ds.Tables["Table1"].DefaultView;
grid.DataBind();
}
private void GetTableColumn()
{
DataColumn DColumn1 = new DataColumn();
DataColumn DColumn2 = new DataColumn();
DataColumn col2 = new DataColumn();
DColumn2.ColumnName = "Title";
dt.Columns.Add(DColumn2);
DColumn1.ColumnName = "Name";
dt.Columns.Add(DColumn1);
col2.ColumnName = "Type";
dt.Columns.Add(col2);
for (ColumnCount = 0; ColumnCount <= ArrayListfields.Count - 1; ColumnCount++)
{
DataColumn Column = new DataColumn();
Column.ColumnName = ArrayListfields[ColumnCount].ToString();
dt.Columns.Add(Column);
}
}
private System.Collections.ArrayList GetListColumns()
{
ArrayListfields.Clear();
foreach (string LFields in (string[])this.ListFields.Split(char.Parse(";")))
{
try
{
if (LFields != string.Empty)
{
ArrayListfields.Add(LFields);
}
}
catch (Exception ex)
{
throw new ApplicationException("There was an exception processing the list fields.<br>" + ex.ToString());
}
}
GetTableColumn();
return ArrayListfields;
}
}
}
|