asp.net 동적 폼 의 데이터 페이지
<div id="dataDiv1">
<asp:Literal ID="labtable" runat="server"></asp:Literal>
<div class="toolBlock" style="border-top:solid 1px #C0CEDF; padding-top:5px">
<bw:VirtualPager ID="VirtualPager1" runat="server" ItemsPerPage="10" OnPageIndexChanged="VirtualPager1_PageIndexChanged" />
</div>
</div>
배경 코드(html 문자열 생 성)
/// <summary>
/// table .
/// Step1: .
/// Step2: .
/// Step3: .
/// Step4: .
/// </summary>
protected void BindTable()
{
labtable.Text = string.Empty;
// .
string year = DropDownImportYear.SelectedValue;
string month = DropDownImportMonth.SelectedValue;
string group_KH_Date = year + month;
GroupService groupService = new GroupService();
DataTable dtGroup = groupService.GetByTemplateCodeAndGroup_KH_Date(TemplateCode, group_KH_Date);
if (dtGroup.Rows.Count > 0)
{
Guid groupID = (Guid)DbUtils.ToGuid(dtGroup.Rows[0]["ID"]);
int groupStutas = DbUtils.ToInt32(dtGroup.Rows[0]["GroupStutas"].ToString());
DataTable dtCells = personalGradeService.GetDistinctTemplateItemNameByGroupID(groupID);
GroupID = groupID.ToString();
if (dtCells.Rows.Count > 0)
{
int cellsCount = 0;// .
StringBuilder strtable = new StringBuilder();
strtable.AppendFormat("<table cellpadding=\"0\" cellspacing=\"0\" class=\"tblClass\">");
strtable.AppendFormat("<tr>");
strtable.AppendFormat("<th> </th>< /span>");
cellsCount = dtCells.Rows.Count;
for (int i = 0; i < cellsCount; i++)
{
strtable.AppendFormat("<th>{0}</th>", dtCells.Rows[i]["Name"].ToString());
}
strtable.AppendFormat("</tr>");
DataTable dtGradeData = GetData(cellsCount);
int cursor = 1;// .
string userName = string.Empty;
string realName = string.Empty;
for (int i = 0; i<dtGradeData.Rows.Count; i++)
{
if (cursor == 1)
{
userName = dtGradeData.Rows[i]["UserName"].ToString();
realName = dtGradeData.Rows[i]["RealName"].ToString();
strtable.AppendFormat("<td width=\"12%\">{0}</td>", realName);
}
string id = dtGradeData.Rows[i]["ID"].ToString();
string templateItemCode = dtGradeData.Rows[i]["TemplateItemCode"].ToString();
strtable.AppendFormat("<td width=\"50px\">");
string GradeData = dtGradeData.Rows[i]["GradeData"].ToString();
if (!string.IsNullOrEmpty(GradeData) && GradeData != "0")
{
GradeData=Math.Round(decimal.Parse(GradeData), 2).ToString();
//
}
strtable.AppendFormat("{0}", GradeData);
//
if (groupStutas != (int)Botwave.MRPS.Constants.GroupStutas.FinishPush)
{
strtable.AppendFormat("<br /><a style=\"text-decoration:underline\" class=\"thickbox\" href='UserGradeDataEdit.aspx?ID={0}&BeModifer={1}&KeepThis=true&TB_iframe=true&height=250&width=500'>", id, userName);
strtable.AppendFormat("<img src=\"../res/gradeedit.gif\" align=\"baseline\" title=\" \" />");
strtable.AppendFormat("</a>");
}
strtable.AppendFormat(" <a target=\"_blank\" style=\"text-decoration:underline\" href='http://www.cnblogs.com/CheckObjectManager/pages/LogScoreChangeDetail.aspx?GroupId={0}&TemplateCode={1}&TemplateItemCode={2}&UserName={3}&returnUrl='>", groupID, TemplateCode, templateItemCode, userName);
strtable.AppendFormat("<img src=\"../res/gradelog.gif\" align=\"baseline\" title=\" \" />");
strtable.AppendFormat("</a>");
strtable.AppendFormat("</td>");
if (cursor < cellsCount)
cursor++;
else
{
strtable.AppendFormat("</tr>");
cursor = 1;
}
}
strtable.AppendFormat("</table>");
labtable.Text = strtable.ToString();
}
}
}
몇 가지 보조 방법(페이지 문 제 를 어떻게 처리 하 는 지,이것 은 cellsCount 파라미터 의 사용 과 관련 이 있 습 니 다.cellsCount 표시 과목 수)
protected void btnSearch_Click(object sender, EventArgs e)
{
SearchNow = true;
VirtualPager1.CurrentPageIndex = 1;
BindTable();
}
protected void VirtualPager1_PageIndexChanged(object sender, Botwave.Web.Controls.PageChangedEventArgs e)
{
BindTable();
}
/// <summary>
/// .
/// </summary>
/// <returns></returns>
private DataTable GetData(int cellsCount)
{
int nRecordCount = 0;
string condition = "";
string filterName = txtUserName.Text.Trim();// .
StringBuilder sb = new StringBuilder();
sb.AppendFormat(" GroupID ='{0}'", GroupID);
if (!string.IsNullOrEmpty(filterName))
sb.AppendFormat(" AND (UserName like '%{0}%' OR RealName like '%{0}%')", filterName);
condition = sb.ToString();
if (SearchNow)// , , , CurrentPageIndex, .
VirtualPager1.CurrentPageIndex = 0;
DataTable dt = personalGradeService.GetGradeData(VirtualPager1.CurrentPageIndex, VirtualPager1.ItemsPerPage * cellsCount, condition, ref nRecordCount);
VirtualPager1.TotalRecordCount = nRecordCount / cellsCount;
VirtualPager1.DataBind();
SearchNow = false;// .
return dt;
}
업무 논리(페이지)
public System.Data.DataTable GetGradeData(int currentPageIndex, int pageSize, string condition, ref int nRecordCount)
{
string fieldShow = " UserID,TemplateCode,TemplateItemCode,GradeData,ID,UserName,RealName ";
string fieldOrder = " UserName ASC,TemplateItemCode ASC ";
string where = condition;
if (String.IsNullOrEmpty(where))
{
where = "1=1";
}
return IBatisDbHelper.GetPagedList("dbo.vw_UserGradeData", "ID", currentPageIndex, pageSize, fieldShow, fieldOrder, where, ref nRecordCount);
}
주의사항:이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.