[英]How to add a style class in jqGrid Td using asp.net c#
I want Conditionaly change style of td in jqGrid, i tried lots of example but not worked, i think i am doing something wrong, please view my code and help me to find out correct code. 我想在jqGrid中有条件地更改td的样式,我尝试了很多示例,但没有用,我认为我做错了什么,请查看我的代码并帮助我找出正确的代码。
My Code is 我的代码是
$(function () {
$("#dataGrid").jqGrid({
url: 'client.aspx/load_Conversation',
datatype: 'json',
mtype: 'POST',
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
ajaxGridOptions: { contentType: "application/json" },
loadonce: false,
reloadGridOptions: { fromServer: true },
colNames: ['Conversation', 'adminStatus'],
colModel: [{ name: 'Conversation', index: 'message', width: 245 }, { name: 'adminStatus', index: 'isAdmin' }, ],
gridComplete: function () {
var ids = jQuery("#dataGrid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var status = jQuery("#dataGrid").jqGrid("getCell", ids[i], 'adminStatus');
if (status == "False") {
$j('#' + ids[i]).removeClass("ui-widget-content");
$j('#' + ids[i]).addClass("ChangeStyle");
}
}
},
viewrecords: true,
gridview: true,
jsonReader: {
records: function (obj) { return obj.d.length },
root: function (obj) { return obj.d },
repeatitems: false,
caption: 'Live chat with us'
}
});
$("#dataGrid").hideCol("adminStatus");
$("#dataGrid").jqGrid('setGridHeight', 240);
});
My Code behind is 我背后的代码是
public static List<Dictionary<string, object>> load_Conversation()
{
WebService wb= new WebService();
DataTable dt = wb.Get();
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
row.Add("Conversation", dr["messgae"]);
row.Add("adminStatus", dr["isAdmin"]);
rows.Add(row);
}
return rows;
}
If I correcly understand format of data returned from the server you should remove gridComplete
, remove index
properties from colModel
and to use cellattr
in adminStatus
if you need to change the style of <td>
elements in adminStatus
: 如果我正确地将明白从你们应该删除服务器返回数据的格式
gridComplete
,删除index
从性能colModel
和使用cellattr
在adminStatus
如果您需要更改的风格<td>
中的元素adminStatus
:
colModel: [
{ name: 'Conversation', width: 245 },
{ name: 'adminStatus', cellattr: function (rowId, val) {
if (val === "False") {
return " class='ChangeStyle'";
}
}}
]
You can see an example of very close usage of cellattr
in the answer . 您可以在答案中看到一个非常接近使用
cellattr
的示例。
It could be important how you defines the CSS rule on ChangeStyle
class. 如何在
ChangeStyle
类上定义CSS规则可能很重要。 If you will don't see the expected results you have to include the definition of CSS rule of ChangeStyle
class and the version of jqGrid which you use. 如果你没有看到预期的结果,你必须包含的CSS规则定义
ChangeStyle
类的jqGrid使用哪种版本。
Add the following style and scripts 添加以下样式和脚本
<link type="text/css" href="http://jqueryrock.googlecode.com/svn/trunk/css/jquery-ui-1.9.2.custom.css" rel="stylesheet" />
<link type="text/css" href="http://jqueryrock.googlecode.com/svn/trunk/jqgrid/css/ui.jqgrid.css" rel="stylesheet" />
<script type="text/javascript" src="http://jqueryrock.googlecode.com/svn/trunk/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://jqueryrock.googlecode.com/svn/trunk/js/jquery-ui-1.9.2.custom.js"></script>
<script src="http://jqueryrock.googlecode.com/svn/trunk/jqgrid/js/grid.locale-en.js" type="text/javascript"></script>
<script src="http://jqueryrock.googlecode.com/svn/trunk/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
For More style class in jqGrid Td using asp.net c# 对于使用asp.net c#的jqGrid Td中的更多样式类
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.