• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Extjs根据条件设置表格某行背景色示例

    发布者: 福建二哥 | 发布时间: 2025-8-13 21:21| 查看数: 24| 评论数: 0|帖子模式

    话不多说,贴上代码
    html代码:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    2. <html>
    3. <head>
    4. <link rel="stylesheet" type="text/css" href="../extjs3/resources/css/ext-all.css" rel="external nofollow" />
    5. <script type="text/javascript" src="../extjs3/adapter/ext/ext-base.js"></script>
    6. <script type="text/javascript" src="../extjs3/ext-all.js"></script>
    7. <script type="text/javascript" src="array-grid.js"></script>
    8. <style type="text/css">
    9. .<span style="font-family: Arial, Helvetica, sans-serif;">my_row_class</span><span style="font-family: Arial, Helvetica, sans-serif;">{ background:gray;}</span>
    10. </style>
    11. </head>
    12. <body>
    13. <div id="grid-example"></div>
    14. </body>
    15. </html>
    复制代码
    js代码,其中应-----隔开的代码即为关键代码,自己分析吧:
    1. Ext.onReady(function(){
    2. Ext.QuickTips.init();
    3. Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    4. // sample static data for the store
    5. var myData = [
    6. ['3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'],
    7. ['3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'],
    8. ['Alcoa Inc', 29.01, 0.42, 1.47, '9/1 12:00am'],
    9. ['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'],
    10. ['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'],
    11. ['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'],
    12. ['Wal-Mart Stores, Inc.', 45.45, 0.73, 1.63, '9/1 12:00am']
    13. ];

    14. /**
    15. * Custom function used for column renderer
    16. * @param {Object} val
    17. */
    18. function change(val) {
    19. if (val > 0) {
    20. return '<span style="color:green;">' + val + '</span>';
    21. } else if (val < 0) {
    22. return '<span style="color:red;">' + val + '</span>';
    23. }
    24. return val;
    25. }

    26. /**
    27. * Custom function used for column renderer
    28. * @param {Object} val
    29. */
    30. function pctChange(val) {
    31. if (val > 0) {
    32. return '<span style="color:green;">' + val + '%</span>';
    33. } else if (val < 0) {
    34. return '<span style="color:red;">' + val + '%</span>';
    35. }
    36. return val;
    37. }

    38. // create the data store
    39. var store = new Ext.data.ArrayStore({
    40. fields: [
    41. {name: 'company'},
    42. {name: 'price', type: 'float'},
    43. {name: 'change', type: 'float'},
    44. {name: 'pctChange', type: 'float'},
    45. {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
    46. ]
    47. });

    48. // manually load local data
    49. store.loadData(myData);

    50. // create the Grid
    51. var grid = new Ext.grid.GridPanel({
    52. store: store,
    53. columns: [
    54. {
    55. id :'company',
    56. header : 'Company',
    57. width : 160,
    58. sortable : true,
    59. dataIndex: 'company'
    60. },
    61. {
    62. header : 'Price',
    63. width : 75,
    64. sortable : true,
    65. renderer : 'usMoney',
    66. dataIndex: 'price'
    67. },
    68. {
    69. header : 'Change',
    70. width : 75,
    71. sortable : true,
    72. renderer : change,
    73. dataIndex: 'change'
    74. },
    75. {
    76. header : '% Change',
    77. width : 75,
    78. sortable : true,
    79. renderer : pctChange,
    80. dataIndex: 'pctChange'
    81. },
    82. {
    83. header : 'Last Updated',
    84. width : 85,
    85. sortable : true,
    86. renderer : Ext.util.Format.dateRenderer('m/d/Y'),
    87. dataIndex: 'lastChange'
    88. }
    89. ],viewConfig : {forceFit:true
    90. //------------------------------------------------
    91. ,getRowClass : function(record,rowIndex,rowParams,store){
    92. if("3m Co"==record.get('company')){
    93. return 'my_row_class';
    94. }
    95. }
    96. //------------------------------------------------
    97. },
    98. stripeRows: true,
    99. autoExpandColumn: 'company',
    100. height: 350,
    101. width: 600,
    102. title: 'Array Grid',
    103. // config options for stateful behavior
    104. stateful: true,
    105. stateId: 'grid'
    106. });

    107. // render the grid to the specified div in the page
    108. grid.render('grid-example');
    109. });
    复制代码
    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表