<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="tab1">
<tr>
<td>
<table class="datalist" id="tab">
<tr class="celtitle">
<td>省分公司</td>
<td>问题反馈数量</td>
<td>未处理的问题反馈数量</td>
<td>自注册店员数量</td>
<td>未处理的自注册店员数量</td>
<td>人工销量确认数量</td>
<td>未处理的人工销量确认数量</td>
<td>活动数量</td>
<td>提前终止的活动数量</td> </tr>
<%if(list==null||list.size()==0){ %>
<tr class="celdata">
<td colspan="4" nowrap class="centerdata">该条件下没有符合要求的数据</td>
</tr>
<%}else{
for(int i=0;i<list.size();i++){
StaffCouponStruct value=list.get(i);
%> <tr class="celdata" onmouseover="this.className='mouseM'" onmouseout="this.className='celdata'">
<td class="leftdata"><%=value.regionName%></td>
<td class="leftdata"><%=value.questCount%></td>
<td class="leftdata"><%=Integer.parseInt(value.questCount)-Integer.parseInt(value.ansCount)%></td>
<td class="leftdata"><%=value.allStaff%></td>
<td class="leftdata"><%=value.notStaff%></td>
<td class="leftdata"><%=value.allStaffSale%></td>
<td class="leftdata"><%=value.notStaffSale%></td>
<td class="leftdata"><%=value.allAction%></td>
<td class="leftdata"><%=value.errorAction%></td>
</tr>
<%
} %>
<%} %></table>
</td>
</tr>
</table>sql语句每次只能查出一条记录,所以用了一个list,到前台后循环得到 数据在table中,
如何用javascript编写一个分页
<tr>
<td>
<table class="datalist" id="tab">
<tr class="celtitle">
<td>省分公司</td>
<td>问题反馈数量</td>
<td>未处理的问题反馈数量</td>
<td>自注册店员数量</td>
<td>未处理的自注册店员数量</td>
<td>人工销量确认数量</td>
<td>未处理的人工销量确认数量</td>
<td>活动数量</td>
<td>提前终止的活动数量</td> </tr>
<%if(list==null||list.size()==0){ %>
<tr class="celdata">
<td colspan="4" nowrap class="centerdata">该条件下没有符合要求的数据</td>
</tr>
<%}else{
for(int i=0;i<list.size();i++){
StaffCouponStruct value=list.get(i);
%> <tr class="celdata" onmouseover="this.className='mouseM'" onmouseout="this.className='celdata'">
<td class="leftdata"><%=value.regionName%></td>
<td class="leftdata"><%=value.questCount%></td>
<td class="leftdata"><%=Integer.parseInt(value.questCount)-Integer.parseInt(value.ansCount)%></td>
<td class="leftdata"><%=value.allStaff%></td>
<td class="leftdata"><%=value.notStaff%></td>
<td class="leftdata"><%=value.allStaffSale%></td>
<td class="leftdata"><%=value.notStaffSale%></td>
<td class="leftdata"><%=value.allAction%></td>
<td class="leftdata"><%=value.errorAction%></td>
</tr>
<%
} %>
<%} %></table>
</td>
</tr>
</table>sql语句每次只能查出一条记录,所以用了一个list,到前台后循环得到 数据在table中,
如何用javascript编写一个分页
$.ajax({
type: "post",
url: "tracking.aspx/GetOriAwb",
data: "{'ids':'" + escape(ids.join()) + "','pageIndex':" + pageIndex + ",'pageLimit':" + pageLimit + ",'customer':'" + customer + "','blno':'" + blno + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
jsonData = eval(data.d)[0];
totalPage = Math.ceil(jsonData.total / pageLimit);
$('#total').text('共' + jsonData.total + '條記錄 ' + totalPage + '頁');
if (pageIndex === totalPage) {
$('#nextpage').attr('disabled', 'disabled');
} else {
$('#nextpage').attr('disabled', '');
}
if (pageIndex === 1) {
$('#prepage').attr('disabled', 'disabled');
} else {
$('#prepage').attr('disabled', '');
}
$.each(jsonData.data, function (index, item) {
rowHtml = new Array();
item.AWB_NO = item.AWB_NO === null ? '' : item.AWB_NO;
rowHtml.push('<tr>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + (index + 1) + '</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF"><a target="_blank" href=AWBTracking.aspx?waybill=' + (item.AWB_NO || '') + '>' + item.DEL_NO + '</a></td>');
rowHtml.push('<td width="24%" bgcolor="#FFFFFF">' + (item.CUSTOM_NO || '') + '</td>');
rowHtml.push('<td align="right" bgcolor="#FFFFFF">' + item.CW + 'kg</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + item.PKG + '</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + (item.COMDTY_NAME || '') + '</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + (item.CREATE_DATE || '') + '</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + (item.STN || '') + '</td>');
rowHtml.push('<td align="center" bgcolor="#FFFFFF">' + (item.STATUS || '') + '</td>');
rowHtml.push('</tr>');
$('#grid tr:eq(' + (rownum++ - 1) + ')').after(rowHtml.join(''));
});
},
error: function (err) {
alert(err);
}
});
}
后台是用C#写的 [WebMethod]
public static string GetOriAwb(string ids, int pageIndex, int pageLimit, string customer,string blno)
{
ids = System.Web.HttpUtility.UrlDecode(ids);
string condition = "1=1";
//散客的話,至少要有填寫提單號碼或者原始訂單號碼
if (string.IsNullOrEmpty(customer) && string.IsNullOrEmpty(ids) && string.IsNullOrEmpty(blno))
return "[{total:0,data:[]}]"; if (!string.IsNullOrEmpty(ids))
{
condition += string.Format(" AND DEL_NO IN({0})", ids);
} if (!string.IsNullOrEmpty(customer))
{
condition += string.Format(" AND CUSTOM_NO='{0}'", customer);
}
//if (!string.IsNullOrEmpty(dfrom))
//{
// condition += string.Format(" AND CREATE_DATE>='{0}'", dfrom);
//}
//if (!string.IsNullOrEmpty(dto))
//{
// condition += string.Format(" AND CREATE_DATE<='{0}'",dto);
//}
if (!string.IsNullOrEmpty(blno))
{
condition += string.Format(" AND AWB_NO='{0}'", blno);
}
string table = "(SELECT T1.*,T2.AWB_NO,(select b.re from ehu_awb a,ehu_statcode b where a.awb_no=t2.awb_no and a.goods_status=b.code) status FROM ORI_AWB T1 LEFT JOIN EHU_AWBPKG T2 ON T1.DEL_NO=T2.CTN_NO)"; string sql = string.Format("SELECT COUNT(*) FROM {0} WHERE {1}", table, condition);
int total = Database.GetValueAsInt(sql); if (total == 0)
return "[{total:0,data:[]}]";
DataTable dt = Query(table, "*", condition, "DEL_NO", "DESC", pageIndex, pageLimit);
IList<OriBl> list = EntityCovertor.ConvertToModelListFromDT<OriBl>(dt);
JavaScriptSerializer jsSeri = new JavaScriptSerializer();
string jsonStr = string.Format("[{{total:{0},data:{1}}}]", total, jsSeri.Serialize(list));
return jsonStr;
} public static DataTable Query(string table, string fields, string condition, string orderByField, string orderByType, int pageIndex, int pageSize)
{
fields = string.IsNullOrEmpty(fields) ? "*" : fields;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendFormat("SELECT {0} FROM (SELECT ROW_NUMBER()OVER(ORDER BY {1} {2}) TEMP_ROW_NUM,T1.{0} FROM {3} T1 ", fields, orderByField, orderByType, table);
if (!string.IsNullOrEmpty(condition))
stringBuilder.AppendFormat("WHERE {0} ", condition);
stringBuilder.AppendFormat(") WHERE TEMP_ROW_NUM BETWEEN (({0}-1)*{1})+1 AND {0}*{1}", pageIndex, pageSize);
return Database.GetDataTable(stringBuilder.ToString(), new string[] { });
}