后台aspx.cs Code
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SubjectData.BLL;
using SubjectData.Common;
namespace SubjectManager.Disease
{
public partial class SubjectList : System.Web.UI.Page
{
DiseaseSubject dal_sub = new DiseaseSubject();
public string Nothing;
#region My Init
/// <summary>
/// 层次分割符
/// Hyey.wl
/// 2010-03-18
/// </summary>
const string STR_TREENODE = "┆┄";
/// <summary>
/// Data View Source.
/// Hyey.wl
/// 2010-03-18
/// </summary>
DataView dv;
/// <summary>
/// ID
/// </summary>
const string STR_ID = "SubID";
/// <summary>
/// Parent ID
/// </summary>
const string STR_PARENTID = "parentId";
/// <summary>
/// Type Name
/// </summary>
const string STR_DISPLAYNAME = "SubTypeName";
#endregion
protected void Page_Load(object sender, EventArgs e)
{
string schar = STR_TREENODE;
if (!IsPostBack)
{
//绑定专题类型
bindSubType(-1, ref schar);
if (this.ddlSubType.Items.FindByValue("-1") == null)
this.ddlSubType.Items.Insert(0, new ListItem("--请选择--", "-1"));
BindDate(1, 10);
}
}
#region 查询参数
//专题名称
protected string Query_Name
{
get
{
if (Request.QueryString["q_name"] != null && Request.QueryString["q_name"].ToString() != String.Empty)
{
string query_name = this.Request.QueryString["q_name"].Trim();
return query_name.Replace("'", "").Replace(";", "");
}
else
{
return null;
}
}
}
//相关药物
protected string Query_ConDrugs
{
get
{
if (Request.QueryString["q_cdrug"] != null && Request.QueryString["q_cdrug"].ToString() != String.Empty)
{
string query_cdrug = this.Request.QueryString["q_cdrug"].Trim();
return HyeyClass.Web.PageValidate.ReplaceStr(query_cdrug);
}
else
{
return null;
}
}
}
//学科ID
protected string Query_KiID
{
get
{
if (Request.QueryString["q_kn"] != null && Request.QueryString["q_kn"].ToString() != String.Empty)
{
string query_kiID = this.Request.QueryString["q_kn"].Trim();
return HyeyClass.Web.PageValidate.ReplaceStr(query_kiID);
}
else
{
return null;
}
}
}
#endregion
#region 组织查询where条件
string Org_where() //---------------------------------------------组织where条件
{
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
strBuilder.Append("1=1");
if (this.Query_Name != null)
{
strBuilder.Append(" and ");
strBuilder.Append("SubName like '%" + this.Query_Name + "%'");
TxtSubName.Text = Query_Name;
}
if (this.Query_ConDrugs != null)
{
strBuilder.Append(" and ");
strBuilder.Append("ConDrugs like '%" + this.Query_ConDrugs + "%'");
TxtConDrugs.Text = this.Query_ConDrugs;
}
if (this.Query_KiID != null)
{
strBuilder.Append(" and ");
strBuilder.Append("kiID = " + this.Query_KiID);
for (int i = 0; i < ddlSubType.Items.Count; i++)
{
if (ddlSubType.Items[i].Value == Query_KiID)
{
ddlSubType.Items[i].Selected = true;
}
}
}
return strBuilder.ToString();
}
#endregion
/// <summary>
/// Binds the type of the sub.
/// Hyey.wl
/// 2010-03-18
/// 绑定树集目录列表.
/// </summary>
/// <param name="schar">The schar is tree split string.</param>
void bindSubType(int pid ,ref string schar)
{
string url = "XMLData/SubjectType.xml";
string strXmlFile = Server.MapPath(url);
EditXML xmlDal = new EditXML(strXmlFile);
DataSet ds = xmlDal.GetTable();
dv = ds.Tables[0].DefaultView;
dv.Sort = STR_PARENTID;
if (pid == -1)
{
foreach (DataRow row in dv.Table.Rows)
{
if (Convert.ToInt32(row[STR_PARENTID]) == 0)
{
this.ddlSubType.Items.Add(new ListItem(schar + row[STR_DISPLAYNAME].ToString(), row[STR_ID].ToString()));
bindSubType(Convert.ToInt32(row[STR_ID]), ref schar);
}
}
}
else
{
DataRowView[] rows = dv.FindRows(pid);
foreach (DataRowView row in rows)
{
if (Convert.ToInt32(row[STR_ID]) != Convert.ToInt32(row[STR_PARENTID]))
{
schar += STR_TREENODE;
this.ddlSubType.Items.Add(new ListItem(schar + row[STR_DISPLAYNAME].ToString(), row[STR_ID].ToString()));
bindSubType(Convert.ToInt32(row[STR_ID]), ref schar);
}
}
schar = STR_TREENODE;
}
}
void BindDate(int PageIndex, int PageSize)
{
string strWhere = Org_where();
#region
//显示的字段
string strFld = "SubID,SubName,kiID,Knowledge,ConDrugs,Op,AddTime";
int RecordCount = 0;
int PageCount = 0;
// if( HiddenRecordCount.Value == "" )
// {
string Count_sql = "select count(*) from DiseaseSubject where " + strWhere;
HiddenRecordCount.Value = HyeyClass.DALFactory.DataAccess.CreateComm().ExecScalar(Count_sql); //取出记录总数
// }
RecordCount = Convert.ToInt32(HiddenRecordCount.Value);
if (RecordCount % PageSize == 0)
{
PageCount = RecordCount / PageSize;
}
else
{
PageCount = RecordCount / PageSize + 1;
}
if (PageIndex > PageCount)
PageIndex = PageCount;
if (PageIndex == PageCount && PageCount == 1)
{
this.LinkFirst1.Enabled = false;
this.LinkPrev1.Enabled = false;
this.LinkNext1.Enabled = false;
this.LinkEnd1.Enabled = false;
}
else if (PageIndex == 1)
{
this.LinkFirst1.Enabled = false;
this.LinkPrev1.Enabled = false;
this.LinkNext1.Enabled = true;
this.LinkEnd1.Enabled = true;
}
else if (PageIndex == PageCount)
{
this.LinkFirst1.Enabled = true;
this.LinkPrev1.Enabled = true;
this.LinkEnd1.Enabled = false;
this.LinkNext1.Enabled = false;
}
else if (PageIndex != 1 && PageIndex != PageCount)
{
this.LinkFirst1.Enabled = true;
this.LinkPrev1.Enabled = true;
this.LinkEnd1.Enabled = true;
this.LinkNext1.Enabled = true;
}
this.HiddenIndex.Value = PageIndex.ToString();//当前页的值,放入隐藏控件中
this.TextIndex1.Text = PageIndex.ToString();
this.txtNum.Text = PageSize.ToString();
this.LabelPageSow1.Text = "<font color='red'>" + PageIndex.ToString() + "</font>" + "/" + PageCount.ToString();
this.LabNum1.Text = RecordCount.ToString();
//-------------------------------------------------------------------------------------
if (PageIndex <= 0)
return;
#endregion
DataSet ds = dal_sub.GetList(strFld, strWhere, PageIndex, PageSize, "subId", "subid desc", 0);
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
Nothing = "没有数据";
return;
}
this.Repeater1.DataSource = ds;
this.Repeater1.DataBind();
ds.Dispose();
}
#region 页面跳转
int getPageSize()
{
if (txtNum.Text == String.Empty || txtNum.Text == "0" || !HyeyClass.Web.PageValidate.IsNumber(txtNum.Text.Trim()))
{
return 0;
}
else
{
return Convert.ToInt32(txtNum.Text.Trim());
}
}
protected void LinkFirst1_Click(object sender, System.EventArgs e)
{
FirstPage();
}
protected void LinkPrev1_Click(object sender, System.EventArgs e)
{
PrevPage();
}
protected void LinkNext1_Click(object sender, System.EventArgs e)
{
NextPage();
}
protected void LinkEnd1_Click(object sender, System.EventArgs e)
{
LastPage();
}
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
goPage();
}
void FirstPage() //第一页
{
BindDate(1, 20);
}
void PrevPage() //上一页
{
int CurrentIndex = Convert.ToInt32(this.HiddenIndex.Value.ToString());
int PrevIndex = CurrentIndex - 1;
BindDate(PrevIndex, getPageSize());
}
void NextPage() //下一页
{
int CurrentIndex = Convert.ToInt32(this.HiddenIndex.Value.ToString());
int NextIndex = CurrentIndex + 1;
BindDate(NextIndex, getPageSize());
}
void LastPage() //最后一页
{
int pagesize = getPageSize();
int RecordCount = Convert.ToInt32(this.HiddenRecordCount.Value.ToString());
int EndIndex = 0;
if (RecordCount % pagesize == 0)
{
EndIndex = RecordCount / pagesize;
}
else
{
EndIndex = RecordCount / pagesize + 1;
}
BindDate(EndIndex, pagesize);
}
void goPage() //跳转
{
if (this.TextIndex1.Text == String.Empty || this.TextIndex1.Text == "0" || !HyeyClass.Web.PageValidate.IsNumber(this.TextIndex1.Text.Trim()))
{
HyeyClass.Web.MessageBox.Show(this, "页面索引无效");
return;
}
if (getPageSize() > 0)
{
int pagesize = getPageSize();
int RecordCount = Convert.ToInt32(this.HiddenRecordCount.Value.ToString());
int EndIndex = 0;
if (RecordCount % pagesize == 0)
{
EndIndex = RecordCount / pagesize;
}
else
{
EndIndex = RecordCount / pagesize + 1;
}
if (Convert.ToInt32(this.TextIndex1.Text.Trim()) > EndIndex)
{
HyeyClass.Web.MessageBox.Show(this, "索引值超出范围,最大页面索引为:" + EndIndex.ToString());
return;
}
BindDate(Convert.ToInt32(this.TextIndex1.Text.Trim()), getPageSize());
}
else if (getPageSize() > Convert.ToInt32(HiddenRecordCount.Value.ToString()))
{
HyeyClass.Web.MessageBox.Show(this, "超出页面的总记录数!");
return;
}
else
{
HyeyClass.Web.MessageBox.Show(this, "页面显示的医生个数无效!");
return;
}
}
#endregion
//搜索
protected void imgBtnSearch_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("SubjectList.aspx?q_name=" + TxtSubName.Text + "&q_cdrug=" + TxtConDrugs.Text + "&q_kn=" + ddlSubType.SelectedValue.ToString() );
}
protected void imgBtnAdd_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("AddSubject.aspx");
}
}
}