时间仓促,代码写的乱,莫怪,着影区不用理会(功能之外)
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Jquery-Easy-UI/jquery.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Jquery-Easy-UI/jquery.easyui.min.js")" type="text/javascript"></script>
<link href= "@Url.Content("/Jquery-Easy-UI/themes/icon.css")" rel="stylesheet" />
<link href="@Url.Content("../../Jquery-Easy-UI/themes/black/easyui.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Jquery-Easy-UI/locale/easyui-lang-zh_CN.js")" type="text/javascript"></script>
前台代码如下:
<script type="text/javascript"> $(function () { $("#dg").datagrid( { toolbar: [ { text: 'Add', iconCls: 'icon-add', handler: function () { $.messager.alert("Action", "Add"); } }, '-', { text: 'Edit', iconCls: 'icon-edit', handler: function () { $.messager.alert("Action", "Edit"); } }, '-', { text: 'Search', iconCls: 'icon-search', handler: function () { $.messager.alert("Action", "Search"); } }, '-', { text: 'Help', iconCls: 'icon-help', handler: function () { $.messager.alert("Action", "Help"); } }], onSelectPage: function (pageNumber, pageSize) { $(this).pagination('loading'); alert('pageNumber:' + pageNumber + ',pageSize:' + pageSize); $(this).pagination('loaded'); }, url: "/Home/QueryStudents", pagination: true, rownumbers: true, loadMsg: '数据加载中请稍后……', //fit: true, fitColumns: true, width: 900, height: 430, pageNumber: 1, pageSize: 12, pageList: [12, 18, 24, 32, 40], columns: [[{ title: "编号", field: "AutoKey", align: 'center' }, { title: "姓名", field: "Name", align: 'center' }, { title: "性别", field: "Sex", align: 'center' }, { title: "学校", field: "School", align: 'center' }, { title: "年龄", field: "Age", align: 'center' }, { title: "学科", field: "Major", align: 'center' }, { title: "邮箱", field: "Email", align: 'center' }, { title: "省份", field: "Province", align: 'center' }, { title: "市", field: "City", align: 'center'}]] } ); }); function show() { var province = $("#pro").val(); var sex = $("#sex").val(); $("#dg").datagrid({ queryParams: { pro: province, sex: sex } }); } </script> <div id="dg"> </div> 省:<input type="text" id="pro" /> 性别:<input type="text" id="sex" /> <a onclick="show()" href="#" class="easyui-linkbutton">查询</a>
后台代码如下
public JsonResult QueryStudents()
{
string pro = Request["pro"];
string sex = Request["sex"];
int rows = Convert.ToInt32(Request["rows"]);
int page = Convert.ToInt32(Request["page"]);
List<SqlParameter> parameters = new List<SqlParameter>();
parameters.Add(new SqlParameter("@cureentPage", page));
parameters.Add(new SqlParameter("@pageSize", rows));
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(@" WITH students AS (SELECT *, ROW_NUMBER() OVER (order by AutoKey) as RowNumber FROM Student where 1=1 ");
if (pro != null && pro != "")
{
stringBuilder.Append(" and Province=@province");
parameters.Add(new SqlParameter("@province", pro));
}
if (sex != null && sex != "")
{
stringBuilder.Append(" and Sex=@sex");
parameters.Add(new SqlParameter("@sex", sex));
}
stringBuilder.Append(" ) ");
stringBuilder.Append(@"SELECT * FROM students
WHERE RowNumber between @cureentPage*@pageSize-@pageSize+1 and @cureentPage*@pageSize");
string sql = stringBuilder.ToString();
List<Student> stus = SelectMethod.SelectStudent(sql, parameters);
int total;
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=BBS;uid=sa;pwd=sa"))
{
conn.Open();
List<SqlParameter> param=new List<SqlParameter>();
StringBuilder sb = new StringBuilder();
sb.Append("select count(*) from Student where 1=1");
if (pro != null && pro != "")
{
sb.Append(" and Province=@province");
param.Add(new SqlParameter("@province", pro));
}
if (sex != null && sex != "")
{
sb.Append(" and Sex=@sex");
param.Add(new SqlParameter("@sex", sex));
}
string selectedCountsql = sb.ToString();
using (SqlCommand sqlcmd = new SqlCommand(selectedCountsql, conn))
{
if (param!=null)
{
foreach (SqlParameter sp in param)
{
sqlcmd.Parameters.Add(sp);
}
}
total = Convert.ToInt32(sqlcmd.ExecuteScalar());
}
}
return Json(new { total = total, rows = stus }, "text/html", Encoding.UTF8,
JsonRequestBehavior.AllowGet);
}
对应表如下: