#region 事件
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
FillListFileType();
FillListGrade();
//排序字段
SortField="id";
//排序方向
SortDirection=" desc";
ChangeDataGridHeader(dGridFileList);
this.StrWhere = " deleted_state = 0";
if(Request["page"] != null)
{
GridDataBind(int.Parse(Request["page"].ToString()));
}
else
{
GridDataBind(1);
}
ShowSearch();
}
}
/// <summary>
/// 搜索按钮触发此事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSearch_Click(object sender, System.EventArgs e)
{
ShowList();
StrWhere = SqlSearch();
GridDataBind(1);
ShowList();
}
/// <summary>
/// 重置按钮触发此事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnReset_Click(object sender, System.EventArgs e)
{
this.txtBoxFileName.Text = "";
this.dDListFileType.SelectedIndex = -1;
this.dDownListGrade.SelectedIndex = -1;
//Response.Redirect("FileSearch.aspx");
this.areaUserControl1.RefreshData();
}
/// <summary>
/// 翻页事件
/// </summary>
/// <param name="src"></param>
/// <param name="e"></param>
private void AspNetPager1_PageChanged(object src, PageChangedEventArgs e)
{
GridDataBind(e.NewPageIndex);
System.Text.StringBuilder sb = new StringBuilder("<script Language=/"Javascript/"><!--/n");
sb.Append("var el=document.all;");
sb.Append(dGridFileList.ClientID);
sb.Append(".scrollIntoView(true);");
sb.Append("<");
sb.Append("/");
sb.Append("script>");
if(!Page.IsStartupScriptRegistered("scrollScript"))
Page.RegisterStartupScript("scrollScript",sb.ToString());
}
private void dGridFileList_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if(e.CommandName=="Detail")
{
int fileID = int.Parse(dGridFileList.DataKeys[e.Item.ItemIndex].ToString());
LoadFileDetail(fileID);
ShowDetail();
}
}
}
private void dGridFileList_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
}
/// <summary>
/// 返回按钮触发此事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnReturn_Click(object sender, System.EventArgs e)
{
ShowList();
}
#endregion
#region 加载数据
/// <summary>
/// 绑定DataGrid
/// </summary>
/// <param name="PageNo"></param>
private void GridDataBind(int PageNo)
{
int iRecordCount = 0;
int iPageCount = 0;
System.Data.DataTable dt = ModuleHelper.GetSearchDataTable("explanation_file_list","id",""+StrWhere+"","",this.AspNetPager1.PageSize,PageNo,1,out iPageCount,out iRecordCount);
if(dt == null)
{
return;
}
dGridFileList.DataKeyField="id";
dGridFileList.DataSource = dt.DefaultView;
dt.DefaultView.Sort = this.Sort;
this.AspNetPager1.RecordCount = iRecordCount;
this.AspNetPager1.CurrentPageIndex = PageNo;
if(iPageCount<PageNo)
{
PageNo=iPageCount;
GridDataBind(PageNo);
}
dGridFileList.DataBind();
//以下绑定非编辑状态下拉列表
foreach(DataGridItem dgi in dGridFileList.Items)
{
this.dGridFileList.Items[dgi.ItemIndex].Cells[3].Text = this.areaUserControl1.AreaName+" "+this.areaUserControl1.CityName+" "+this.areaUserControl1.TownName;
this.dGridFileList.Items[dgi.ItemIndex].Cells[5].Text = !bool.Parse(this.dGridFileList.Items[dgi.ItemIndex].Cells[4].Text)?"景点":"景区";
this.dGridFileList.Items[dgi.ItemIndex].Cells[8].Text = Common.CommonHelper.GetFormatString(Double.Parse(IsDouble(this.dGridFileList.Items[dgi.ItemIndex].Cells[7].Text)));
}
AspNetPager1.CustomInfoText ="记录总数:<font color=/"blue/"><b>"+AspNetPager1.RecordCount.ToString()+"</b>";
AspNetPager1.CustomInfoText += " 总页数:<font color=/"blue/"><b>"+AspNetPager1.PageCount.ToString()+"</b>";
AspNetPager1.CustomInfoText += " 当前页:<font color=/"red/"><b>"+PageNo.ToString()+"</b>";
}
private string IsDouble(string d)
{
if(d == string.Empty || d == " ")
{
return "0";
}
return d;
}
/// <summary>
/// 加载文件类型
/// </summary>
private void FillListFileType()
{
DataTable dt = ModuleHelper.GetAllFileType();
if(dt == null)
{
return;
}
this.dDListFileType.DataSource = dt.DefaultView;
this.dDListFileType.DataTextField = "name";
this.dDListFileType.DataValueField = "id";
this.dDListFileType.DataBind();
}
/// <summary>
/// 加载星级
/// </summary>
private void FillListGrade()
{
DataTable dt = ModuleHelper.GetAllGrade();
if(dt == null)
{
return;
}
this.dDownListGrade.DataSource = dt.DefaultView;
this.dDownListGrade.DataTextField = "name";
this.dDownListGrade.DataValueField = "id";
this.dDownListGrade.DataBind();
}
/// <summary>
/// 加载详细信息
/// </summary>
/// <param name="fileID"></param>
private void LoadFileDetail(int fileID)
{
if(fileID==0)
{
return;
}
System.Data.DataTable dt = ModuleHelper.GetFileDetailDataTable(fileID);
if(dt.Rows.Count == 1)
{
this.lbName.Text=dt.Rows[0]["name"].ToString();
this.lbContentSort.Text=dt.Rows[0]["content_sort_name"].ToString();
this.lbArea.Text=dt.Rows[0]["area_name"].ToString();
this.lbImage.Text=dt.Rows[0]["pic"].ToString();
this.lbFileType.Text=dt.Rows[0]["file_type_name"].ToString();
this.lbFormat.Text=dt.Rows[0]["pre_format_name"].ToString();
this.lbFileSize.Text=Common.CommonHelper.GetFormatString(double.Parse(dt.Rows[0]["sizes"].ToString()));
this.lbUpLoadTime.Text=dt.Rows[0]["upload_time"].ToString();
this.lbDownLoadTimes.Text=dt.Rows[0]["down_times"].ToString();
this.lbGrade.Text=dt.Rows[0]["grade_name"].ToString();
this.lbIntegral.Text="";
this.lbRecommend.Text=!bool.Parse(dt.Rows[0]["is_recommendation"].ToString())?"否":"是";
this.HyperLink1.NavigateUrl=string.Format("DownLoadFile.aspx?id={0}",fileID);
}
}
#endregion
#region 属性
/// <summary>
/// 获得搜索条件
/// </summary>
public string StrWhere
{
get
{
if(ViewState["StrWhere"]==null)
{
return null;
}
else
{
if(ViewState["StrWhere"].ToString()=="")
{
return null;
}
else
{
return ViewState["StrWhere"].ToString();
}
}
}
set
{
ViewState["StrWhere"]=value;
}
}
/// <summary>
/// SortDirection 排序方向
/// </summary>
public string SortDirection
{
get
{
if(ViewState["SortDirection"]==null)
{
return null;
}
else
{
if(ViewState["SortDirection"].ToString()=="")
{
return null;
}
else
{
return ViewState["SortDirection"].ToString();
}
}
}
set
{
ViewState["SortDirection"]=value;
}
}
/// <summary>
/// SortField 排序字段
/// </summary>
public string SortField
{
get
{
if(ViewState["SortField"]==null)
{
return null;
}
else
{
if(ViewState["SortField"].ToString()=="")
{
return null;
}
else
{
return ViewState["SortField"].ToString();
}
}
}
set
{
ViewState["SortField"]=value;
}
}
/// <summary>
/// 拼装排序条件
/// </summary>
private string Sort
{
get
{
return this.SortField + " " + this.SortDirection;
}
}
#endregion
#region DataGrid排序
/// <summary>
/// 修改列头样式ChangeDataGridHeader
/// </summary>
/// <param name="dg"></param>
private void ChangeDataGridHeader(DataGrid dg)
{
for (int i = 0;i < dg.Columns.Count - 1;i++)
{
dg.Columns[i].HeaderText = dg.Columns[i].HeaderText.Replace("▲", "").Replace("▼", "");
string name = dg.Columns[i].SortExpression;
if (SortField == dg.Columns[i].SortExpression)
{
if (SortDirection == " DESC")
{
dg.Columns[i].HeaderText += "▼";
}
else
{
dg.Columns[i].HeaderText += "▲";
}
return;
}
}
}
private void dGridFileList_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if(this.SortField==e.SortExpression)
{
//处理排序方向
if(this.SortDirection==" DESC")
{
this.SortDirection=" ASC";
}
else
{
this.SortDirection=" DESC";
}
}
else
{
this.SortField=e.SortExpression;
this.SortDirection=" ASC";
}
ChangeDataGridHeader(dGridFileList);
//this.AspNetPager1.OnSortChanged();
this.GridDataBind(this.AspNetPager1.CurrentPageIndex);;
}
#endregion