62,074
社区成员
发帖
与我相关
我的任务
分享
UltraWebGrid uwg1 = null;
protected void Page_Load(object sender, EventArgs e)
{
uwg1 = new UltraWebGrid();
SetStyle();
uwg1.SortColumn += new SortColumnEventHandler(JeezWebGrid_SortColumn);
uwg1.PageIndexChanged += new PageIndexChangedEventHandler(UltraWebGrid1_PageIndexChanged);
if (!this.IsPostBack)
BindData(uwg1, null);
this.form1.Controls.Add(uwg1);
}
private static string _presetContent = null;
/// <summary>
/// 控件样式表连接名称.
/// </summary>
protected const string CSS_LINK_NAME = "WebGridCss";
/// <summary>
/// 控件的样式文件.
/// </summary>
protected const string CSS_FILE_PATH = "~/ig_common/20071CLR20/Styles/Office2007Blue/ig_WebGrid.css";
/// <summary>
/// 控件的样式配置文件.
/// </summary>
protected const string PRESET_FILE_PATH = @"~\ig_common\20071CLR20\Styles\Office2007Blue\WebGrid.xml";
/// <summary>
/// 获得控件样式配置的内容.
/// </summary>
public static StringReader PresetContent
{
get
{
if (string.IsNullOrEmpty(_presetContent))
{
using (StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(PRESET_FILE_PATH)))
{
_presetContent = sr.ReadToEnd();
}
}
return new StringReader(_presetContent);
}
}
private void SetStyle()
{
if (HttpContext.Current != null)
{
System.Web.UI.Page currentPage = HttpContext.Current.CurrentHandler as System.Web.UI.Page;
string strCss = String.Format("<link href=\"{0}\" rel=\"stylesheet\" type=\"text/css\"/>", currentPage.ResolveClientUrl(CSS_FILE_PATH));
if (!currentPage.ClientScript.IsStartupScriptRegistered(currentPage.GetType(), CSS_LINK_NAME))
{
currentPage.ClientScript.RegisterStartupScript(currentPage.GetType(), CSS_LINK_NAME, strCss);
}
uwg1.Style.Add(System.Web.UI.HtmlTextWriterStyle.Position, "absolute");
uwg1.LoadPreset(PresetContent, true);
uwg1.DisplayLayout.Pager.Style.Height = Unit.Percentage(1.00);
}
}
private void BindData(UltraWebGrid pUwg, string sort)
{
DataSet ds = new DataSet("ds_dry");
DataTable dt = new DataTable("dt_dry");
dt.Columns.Add(new DataColumn("num", typeof(int)));
for (int i = 0; i < 20; i++)
{
dr = dt.NewRow();
dr["num"] = i;
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
if (sort != null && sort != "")
{
DataView dv = ds.Tables[0].DefaultView;
dv.Sort = sort;
pUwg.DataSource = dv;
pUwg.DataBind();
}
else
{
pUwg.DataSource = ds;
pUwg.DataBind();
}
foreach(UltraGridColumn ugc in pUwg.Columns)
{
ugc.AllowRowFiltering = false;
}
}
protected void JeezWebGrid_SortColumn(object sender, Infragistics.WebUI.UltraWebGrid.SortColumnEventArgs e)
{
UltraWebGrid uwg = sender as UltraWebGrid;
if (Session["sortDirection"]==null)
{
Session["sortDirection"] = "asc";
}
if (Session["sortDirection"].ToString() == "asc")
{
Session["sortDirection"] = "desc";
}
else
{
Session["sortDirection"] = "asc";
}
e.Cancel = true;
//turn off all sort icons in the headers
for (int i = 0; i < uwg.DisplayLayout.Bands[0].Columns.Count; i++)
{
uwg.DisplayLayout.Bands[0].Columns[i].SortIndicator = Infragistics.WebUI.UltraWebGrid.SortIndicator.None;
}
BindData((UltraWebGrid)sender, this.uwg1.Columns[e.ColumnNo].Key + " " + Session["sortDirection"]);
}