Tôi đang sử dụng jqGrid
để hiển thị dữ liệu ở định dạng bảng, sử dụng JSP
và servlet
.jqgrid cách hiển thị thông báo phía máy chủ
EDIT
Tôi muốn hiển thị lỗi từ máy chủ, khi hoạt động như insert, update, delete
được thực hiện. (datatype: "xml")
jqGrid
jQuery("#list10_d").jqGrid({
height:250,
width:600,
url:'Assignment?action=Assign',
datatype: "xml",
colNames:['Sr. No.','PID', 'DATE', 'EMPID'],
colModel:[{name:'srNo',index:'srNo', width:30,sortable:false},
{name:'PID',index:'PID',width:0, sortable:true,editable:false},
{name:'DATE',index:'DATE', width:75,sortable:true,editable:true,editoptions: { dataInit: function(el) { setTimeout(function() { $(el).datepicker({dateFormat:"dd-M-yy",showButtonPanel: true,changeYear: true,changeMonth: true}).attr('readonly','readonly'); }, 200); }}},
{name:'EMPID',index:'EMPID', width:150,sortable:true,editable:true}
],
rowNum:10,
rowList:[10,20,50,100],
pager: '#pager10_d',
sortname: 'PID',
viewrecords: true,
sortorder: "asc",
},
multiselect: true,
editurl: "Assignment?action=Edit",
caption:"Assignment"
}).navGrid('#pager10_d',{edit:false,add:true,del:false,addtext:'Assign '},
{},
{modal:true,jqModal: false,closeOnEscape:true,savekey: [true,13],closeOnEscape:true, recreateForm: true,width:500,mtype:'POST', url: 'Assignment',editData:{action: 'Assign',PID: function() {return PID;}},
afterSubmit: function (response) {
alert('After Submit \n' +'statusText: '+ response.statusText);
var myInfo = '<div class="ui-state-highlight ui-corner-all">'+
'<span class="ui-icon ui-icon-info" ' +
'style="float: left; margin-right: .3em;"></span>' +
response.statusText + 'Inserted'+
'</div>',
$infoTr = $("#TblGrid_" + $.jgrid.jqID(this.id) + ">tbody>tr.tinfo"),
$infoTd = $infoTr.children("td.topinfo");
$infoTd.html(myInfo);
$infoTr.show();
// display status message to 3 sec only
setTimeout(function() {
$infoTr.slideUp("slow");
}, 5000);
return [true, "", ""]; // response should be interpreted as successful
},
errorTextFormat: function (response) {
alert('Error Text Format: \n' +'statusText: '+ response.statusText);
return '<span class="ui-icon ui-icon-alert" ' +
'style="float:left; margin-right:.3em;"></span>' +
response.statusText;},
{closeOnEscape:true, recreateForm: true,mtype: 'POST',url: 'Assignment',delData: {action: 'Delete',PID: function() {return PID;}}},
{}) ;
Servlet Mã
if(request.getParameter("action").equalsIgnoreCase("Assign"))
{
PID = request.getParameter("PID");
String DATE= request.getParameter("DATE");
String EMPID= request.getParameter("EMPID");
String query = "insert into ASSIGN(PID,DATE,EMPID) values('"+ PID +"','"+ DATE +"','"+ EMPID"')";
boolean b = insert.InsertData(query);
if(b)
{
System.out.println("New record added successfully! : "+query);
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
//response.sendError(200, "success");
response.setStatus(200, "Inserted successfully");
}
else
{
System.out.println("Failed to add Record! : "+query);
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
//response.sendError(399, "not Inserted successfully");
response.setStatus(404, "Error while inserting");
}
}//INSERT
cho ví dụ trên
- sau
inserting
kỷ lục từ jqGrid, sau đóNo message is shown
trong lưới nếu bản ghi làinserted successfully
error Status: 'Unauthorized'. Error code: 401
được hiển thị nếu servlet không chèn bản ghi vào cơ sở dữ liệu.
Câu hỏi của tôi là:
- sau
inserting
kỷ lục từ jqGrid, nếu hồ sơ được chèn sau đó làm thế nào tôi nên hiển thị thông báo cung cấp thông tin cho người sử dụng mà dữ liệu được chèn vào. - và làm thế nào tôi nên cho thông điệp tới người dùng mà
Error while inserting
(màerror code
tôi nên sử dụng cho việc này?)
Cảm ơn trước .....
cảm ơn bạn đã trả lời (và +1), tôi sẽ dùng thử ngay hôm nay. – Bhushan
@Bhushan: Bạn được chào đón! – Oleg
Tôi đã cập nhật câu hỏi của mình, sau khi triển khai mã của bạn, bây giờ thông báo được hiển thị trên đầu biểu mẫu như bạn hiển thị trong hình ảnh, nhưng chỉ mã trạng thái được hiển thị, như khi được chèn thành công chỉ 'OK' được hiển thị và khi không chèn được sau đó chỉ 'Không tìm thấy' được hiển thị, nhưng tôi không thể hiển thị thông báo' tùy chỉnh' được gửi bởi servlet ở dạng .. tôi đang làm sai trong khi gửi lỗi từ servlet đến lưới? bất kỳ trợ giúp nào sẽ được đánh giá cao ... – Bhushan