最近客戶要求在單元格里面顯示其他信息,並不顯示單元格的信息,這需求讓我頭疼了一會兒,我其實沒有做過這樣的想到了用ajax做就上網去查閱資料,找到的沒有和需求一樣的就借鑑了一下他們的思路,廢話不說兒先看效果:
就是鼠標放在國內海外這個單元格的時候顯示的數據不是它本身,顯示其他數據,前臺代碼:
function formatShowHide(cellValue, options, rowobject) {
var id = rowobject[1];
$.ajax({
url: '/MyTask/MyTask/ShowData?id=' + id + '',
dataType: 'json',
type: 'post',
data: {},
success: function (data) {
var titledata = '流程對接人:' + data.Name + ';電話分機:' + data.Phone + ';組長:' + data.GropuBoss + ';電話分機:' + data.EXT;
$(".autotip_" + data.id + "").attr("title", titledata);
}
});
if (rowobject[15] != "" || rowobject[15] != null) {
return "<span title='" + rowobject[15] + "' class='autotip_" + id + "'>" + rowobject[15] + "</span>";
} else {
return "<span title='" + rowobject[15] + "' class='autotip_" + id + "'>" + rowobject[15] + "</span>";
}
}
這是前臺代碼,需要注意的是在span顯示的時候要寫個class+此行的ID ,如果定義ID的話在ajax的success獲取不到數據,自己去體會吧,後臺的代碼也沒有什麼難點就是獲取到數據賦值罷了:
public class tempclass
{
public string Name { get; set; }
public string Phone { get; set; }
public string GropuBoss { get; set; }
public string EXT { get; set; }
public string id { get; set; }
}
public JsonResult ShowData(string id)
{
tempclass model = new tempclass();
model.id=id;
model.Name ="Name";
model.Phone="Phone";
model.GropuBoss="GropuBoss";
model.EXT="EXT";
return Json(model,JsonRequestBehavior.AllowGet);
}
在使用jqgrid的時候要調用前臺的方法,我使用的jqgrid比較舊了可能和現在最新版本有點區別,調用的方法:
ordersGrid.Columns.Find(c => c.DataField == "TaskLungtinAreaName").Formatter = new CustomFormatter { FormatFunction = "formatShowHide" };
初次寫技術性的,請大佬們多多指教。。。。