黑夜的狼

沮丧吗,那就是一种无病呻吟!留恋它就是一种高度近视!目光应该放得更远一点! 别不想飞,只是要一步跨过太平洋!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
public partial class TextBoxSelectDialogDefault : PageBase
{
protected string dataKey = string.Empty;
//protected TextBoxSelectXmlModel xmlModel = null;
#region ViewState Property
protected TextBoxSelectXmlModel xmlModel
{
set
{
ViewState[
"xmlModel"] = value;
}
get
{
if (ViewState["xmlModel"] == null)
{
return new TextBoxSelectXmlModel();
}
else
{
return (TextBoxSelectXmlModel)ViewState["xmlModel"];
}
}
}
private int StartHiddenIndex
{
set
{
ViewState[
"StartHiddenIndex"] = value;
}
get
{
if (ViewState["StartHiddenIndex"] == null)
{
return 0;
}
else
{
return (int)ViewState["StartHiddenIndex"];
}
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
dataKey
= Request.QueryString["key"];
if (!IsPostBack)
{
GetXmlData();
SetSearchForm();
SetGridColumn();
InitList(
0);
}
}
#region Get XML Data
private void GetXmlData()
{
if (dataKey != string.Empty)
{
xmlModel
= new XmlAnalyze().GetXmlModel(this, dataKey) as TextBoxSelectXmlModel;
if (xmlModel == null)
{
WriteError(
string.Format("The xml file is null,or the DataKey '{0}' has not finded!", dataKey));
}
}
}
#endregion
#region Set Grid Column And Appearance
private void SetGridColumn()
{
string[] showFieldArray = xmlModel.ShowFields.Split(',');
string[] showFieldHeaderArray = xmlModel.ShowFieldsHeader.Split(',');
string[] fieldWidthArray = xmlModel.FieldWidth.Split(',');
if (showFieldArray.Length != showFieldHeaderArray.Length || showFieldHeaderArray.Length != fieldWidthArray.Length)
WriteError(
"FieldWidth,ShowFields or ShowFieldsHeader's Columns are not equal! ");
string[] hiddenFieldArray = xmlModel.HiddenFields.Split(',');
for (int i = 0; i < showFieldArray.Length; i++)
{
BoundField col
= new BoundField();
col.HeaderText
= showFieldHeaderArray[i];
//col.AccessibleHeaderText = showFieldArray[i];
col.DataField = showFieldArray[i];
col.HeaderStyle.Width
= new Unit(fieldWidthArray[i]);
GridView1.Columns.Add(col);
}
StartHiddenIndex
= showFieldArray.Length;

foreach (string hf in hiddenFieldArray)
{
BoundField colHidden
= new BoundField();
colHidden.DataField
= hf;
GridView1.Columns.Add(colHidden);
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.DataRow) || (e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.Footer))
{
for (int i = StartHiddenIndex; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Display,
"none");
}
}
if (e.Row.RowType == DataControlRowType.Header)
{
string[] allFields= string.Format("{0},{1}", xmlModel.ShowFields, xmlModel.HiddenFields).Split(',');

for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].ID
= allFields[i];
e.Row.Cells[i].CssClass
= "TableHeader";
}
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (TableCell tc in e.Row.Cells)
{
tc.CssClass
= "TableItem";
}
}
}
#endregion
#region Set Search Form Appearance
private void SetSearchForm()
{
if (xmlModel.SearchFields == string.Empty)
{
panelSearch.Visible
= false;
return;
}
hiddenParams.Value
= xmlModel.CallBackParams;
lbDescription.Text
= xmlModel.SearchFieldsHeader;

}
#endregion
#region Search Event
protected void btnSearch_Click(object o, EventArgs e)
{
//GetXmlData();
string[] searchFieldsArray = xmlModel.SearchFields.Split(',');
StringBuilder sbWhere
= new StringBuilder();
if (txtKeyWord.Text.Trim() != string.Empty)
{
sbWhere.Append(
" and ");
foreach (string field in searchFieldsArray)
{
sbWhere.Append(
string.Format("{0} like '%{1}%' or ", field, txtKeyWord.Text.Trim()));
}
sbWhere.Remove(sbWhere.Length
- 4, 4);
ViewState[WhereStr]
= sbWhere.ToString();
}
else
{
ViewState[WhereStr]
= null;
}
InitList(
1);
}
#endregion
#region Init List
private void InitList(int currentPage)
{
int recordCount = 0;
DataTable dt
= new DataTable();
StringBuilder sbWhere
= new StringBuilder();
if (ViewState[WhereStr] != null)
{
sbWhere.Append(ViewState[WhereStr].ToString());
}
if (xmlModel.Where != string.Empty)
{
sbWhere.Append(
" and ");
sbWhere.Append(xmlModel.Where);
}
Paged.GetPagedData(xmlModel.TableName,
xmlModel.HiddenFields
!= string.Empty ? string.Format("{0},{1}", xmlModel.ShowFields, xmlModel.HiddenFields) : xmlModel.ShowFields,
PageSize, currentPage,
xmlModel.Order, sbWhere.ToString(),
out recordCount, ref dt);
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();
AspNetPager1.CurrentPageIndex
= currentPage;
AspNetPager1.RecordCount
= recordCount;
AspNetPager1.PageSize
= PageSize;
}
#endregion
#region Change Page Index
protected void AspNetPager1_PageChanging(object o, Wuqi.Webdiyer.PageChangingEventArgs e)
{
//GetXmlData();
InitList(e.NewPageIndex);
}
#endregion
这是弹出框的页面后台代码,主要实现的就是显示弹出框数据
posted on 2011-03-11 05:30  anncesky  阅读(181)  评论(0编辑  收藏  举报