jqGrid加checkbox,怎样实现动态显示和隐藏列,求大神指教或给个例子,谢谢谢谢。

jqGrid加checkbox,怎样实现动态显示和隐藏列,求大神指教或给个例子,谢谢谢谢。,第1张

protected void Page_Load(object sender, EventArgs e)

{

CheckBox chk = new CheckBox()

chk.Text = "testall" // 这里可以换成数据库的内容

chk.CheckedChanged += new EventHandler(chk_CheckedChanged)

chk.AutoPostBack = true

Page.Form.Controls.Add(chk)

for (int i = 0i <10i++)

{

CheckBox chk2 = new CheckBox()

chk2.Text = "test" + i.ToString() // 这里可以换成数据库的内容

chk2.Checked = (i % 3 == 0)// 这里可以换成数据库的内容

Page.Form.Controls.Add(chk2)

}

}

void chk_CheckedChanged(object sender, EventArgs e)

{

CheckBox all = sender as CheckBox

foreach(Control ctl in Page.Form.Controls)

{

if (ctl is CheckBox)

{

CheckBox chk = ctl as CheckBox

chk.Checked = all.Checked

}

}

}

今天利用SSH+json结合jqGrid做了个小例子,能从数据库查出数据并显示到JSP页面,可是查出来的数据重复了:比如数据库只有2条数据,查出来之后变成了4条。经后台打印查看发现,是jqGrid连续执行了两次查询 *** 作。找了好久都搞不懂为什么!?�0�2先上张图:�0�21、JSP页面代码�0�2jQuery(document).ready(function(){ $("#list").jqGrid({ url:'<%=path%>/jqGrid/jqGrid!getData.action', datatype: "json", height:230, colNames:['书号','书名','作者'], colModel:[ {name:'bookid',index:'bookid', width:100,editable:true,editoptions:{size:20},editrules:{required:true}}, {name:'bookname',index:'bookname', width:200,editable:true,editoptions:{size:20},editrules:{required:true}}, {name:'author',index:'author', width:150,editable:true,editoptions:{size:20}} ], sortname:'bookid', sortorder:'asc', viewrecords:true, rowNum:10, rowList:[10,20,30], loadonce : true, editurl:'', jsonReader: { root:"dataRows", // 数据行(默认为:rows) page: "curPage", // 当前页 total: "totalPages", // 总页数 records: "totalRecords", // 总记录数 repeatitems : false // 设置成false,在后台设置值的时候,可以乱序。且并非每个值都得设 }, prmNames:{rows:"page.pageSize",page:"page.curPageNo",sort:"page.orderBy",order:"page.order"}, pager:"#pager", caption: "jqGrid+SSH" }).navGrid('#pager',{view:true,edit:true,add:true,del:true,refresh:true})})�0�2

�0�2�0�2�0�22、action代码�0�2public class ListAction extends JsonBaseAction { private IBookServices bookServicespublic String getData() throws Exception{ System.out.print("获取数据...")List<Books>list=this.bookServices.ListAll()// 给另外三个返回参数设值 int totleSize=list.size()System.out.print("共"+totleSize+"条数据

")int p = totleSize / this.page.getPageSize()if (p % this.page.getPageSize() >0) p += 1setTotalPages(p)// 总页数 if (this.page.getCurPageNo() >0) this.setCurPage(this.page.getCurPageNo())// 当前页 else this.setCurPage(1)setTotalRecords(totleSize)// 总记录数 for (int i = 0i <totleSizei++) { // 定义一个Map<String,Object>存放一行行数据。 Map<String, Object>row = new HashMap<String, Object>()if (i >= totleSize) breakBooks b = list.get(i)row.put("bookid",b.getBookid())row.put("bookname",b.getBookname())row.put("author",b.getAuthor())dataRows.add(row)} return SUCCESS} @Override public int getTotalPages() { return this.totalPages} @Override public int getCurPage() { return this.curPage} @Override public int getTotalRecords() { return this.totalRecords} @Override public List<Map<String, Object>>getDataRows() { return this.dataRows} public void setBookServices(IBookServices bookServices) { this.bookServices = bookServices} }�0�2�0�2说明下的就是spring和json冲突的问题,我把bookServices的getter方法去掉了。�0�2另外我试过getData() 方法return的是null,但是这样数据显示不出来。�0�23、配置文件�0�2<package name="jqGrid" namespace="/jqGrid" extends="json-default"><action name="jqGrid" class="jqGridBean"><result type="json"/></action></package>�0�2jqGridBean在spring配置文件里配置了,这里就不贴代码了。�0�2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10714602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存