📄 lookachievement.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace Service
{
/// <summary>
/// Summary description for LookAchievement.
/// </summary>
public partial class LookAchievement : System.Web.UI.Page
{
private ArrayList arrayComment = new ArrayList();
public String sOperation = "";
public String sLinkName = "";
protected void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
BindAchievementData();
//总共的页数
PageCount.Text = AchievementList.PageCount.ToString() + " ";
//当前的页码
PageCurrentCount.Text = (AchievementList.CurrentPageIndex + 1).ToString() + " ";
//初始化页面导向按钮的可见性
IsFirstLastPage();
}
if(Request.Params["LinkID"] != null)
{
GetLinkName(Request.Params["LinkID"].ToString());
}
}
private void GetLinkName(String sLinkID)
{
String[] aName = new String[2];
aName = GlobalVarables.GetLinkName(sLinkID);
sOperation = aName[0].ToString();
sLinkName = aName[1].ToString();
}
private void BindAchievementData()
{
EmployeeDB employee = new EmployeeDB();
DataSet ds = employee.GetEmployeeDS();
AchievementList.DataSource = ds;
AchievementList.DataBind();
}
private int CreateArrayList()
{
int nDataCount = 0;
CommentTypeDB commentTpye = new CommentTypeDB();
SqlDataReader recc = commentTpye.GetCommentTypeCount();
if(recc.Read())
{
nDataCount = Int32.Parse(recc["DataCount"].ToString());
}
recc.Close();
return(nDataCount);
}
private void BindCommentData(DataList dataList,int nEmployeeID)
{
arrayComment.Clear();
int nDataCount = CreateArrayList();
int[,] commentCount = new int[nDataCount,2];
///数组的第一列存放评论的ID;
///数组的第二列存放该评论(同一ID)的次数
CommentTypeDB commentType = new CommentTypeDB();
SqlDataReader recct = commentType.GetCommentTypes();
int index = 0;
while(recct.Read())
{
commentCount[index++,0] = Int32.Parse(recct["ID"].ToString());
}
recct.Close();
for(int i = 0; i < nDataCount; i++)
{
//初始化数组的第二列
commentCount[i,1] = 0;
}
EmployeeCommentTypeDB employeeC = new EmployeeCommentTypeDB();
SqlDataReader rece = employeeC.GetCommentTypeByEmployee(nEmployeeID);
//添加各种评论的次数,注意数组的下标;
while(rece.Read())
{
for(int i = 0; i < nDataCount; i++)
{
if(commentCount[i,0].ToString() == rece["CommentTypeID"].ToString())
{
commentCount[i,1]++;
break;
}
}
}
rece.Close();
SqlDataReader recc = commentType.GetCommentTypes();
index = 0;
while(recc.Read())
{
CommentTypeCount commentTypeCount = new CommentTypeCount();
commentTypeCount.CommentName = recc["CommentTypeName"].ToString();
commentTypeCount.CommentCount = commentCount[index++,1];
arrayComment.Add(commentTypeCount);
}
recc.Close();
dataList.DataSource = arrayComment;
dataList.DataBind();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.AchievementList.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.AchievementList_ItemDataBound);
}
#endregion
private void AchievementList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Label label = (Label)e.Item.FindControl("EmployeeID");
DataList dataList = (DataList)e.Item.FindControl("CommentList");
if(dataList != null && label != null)
{
BindCommentData(dataList,Int32.Parse(label.Text));
}
}
/// <summary>
/// 实现分页机制
/// </summary>
protected void Page_Click(object sender, System.EventArgs e)
{
String commangArg = ((LinkButton)sender).CommandArgument;
switch(commangArg)
{
//首页
case "First":
{
AchievementList.CurrentPageIndex = 0;
break;
}
//上一页
case "Prev":
{
AchievementList.CurrentPageIndex = (int)Math.Max(0,AchievementList.CurrentPageIndex - 1);
break;
}
//下一页
case "Next":
{
AchievementList.CurrentPageIndex = (int)Math.Min(AchievementList.PageCount -1,AchievementList.CurrentPageIndex +1);
break;
}
//最后一页
case "Last":
{
AchievementList.CurrentPageIndex = AchievementList.PageCount -1;
break;
}
default:
{
break;
}
}
//重新绑定AchievementList的数据
BindAchievementData();
//重新绑定当前的页码
PageCurrentCount.Text = (AchievementList.CurrentPageIndex + 1).ToString();
//控制页面导向按钮的可见性
IsFirstLastPage();
}
//控制页面导向按钮的可见性
private void IsFirstLastPage()
{
if(AchievementList.PageCount != 1)
{
if(AchievementList.CurrentPageIndex == 0)
{
PagePrev.Visible = false;
}
else
{
PagePrev.Visible = true;
}
if(AchievementList.CurrentPageIndex == AchievementList.PageCount -1)
{
PageNext.Visible = false;
}
else
{
PageNext.Visible = true;
}
}
else
{
PagePrev.Visible = false;
PageNext.Visible = false;
}
}
//实现随机定位页面
private void MoveToPageCountBtn_Click(object sender, System.EventArgs e)
{
if((MoveToPageCount.Text.Trim() != "")&&(MoveToPageCount.Text.Trim() != null))
{
if((Int32.Parse(MoveToPageCount.Text.Trim()) > 0)&&(Int32.Parse(MoveToPageCount.Text.Trim()) <= AchievementList.PageCount))
{
AchievementList.CurrentPageIndex = Int32.Parse(MoveToPageCount.Text.Trim()) -1;
BindAchievementData();
//重新绑定当前的页码
PageCurrentCount.Text = (AchievementList.CurrentPageIndex + 1).ToString();
//控制页面导向按钮的可见性
IsFirstLastPage();
}
else
{
Response.Write("<script>alert(\"你输入的页码值超出页码的范围,请重新输入!\")</script>");
}
}
else
{
Response.Write("<script>alert(\"请输入你要转到的页码!\")</script>");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -