2013-05-14 3 views
0

В моем JQGrid мне нужно добавить кнопки Edit и delete, чтобы при нажатии пользователем этих кнопок пользователь будет перенаправлен на другую страницу для удаления и редактирования конкретной записи. В настоящее время он работает нормально, но у меня проблема с CSS с кнопками. Как я могу переопределить стиль кнопок.Переопределить JqGrid Редактировать/удалить кнопку CSS класс

Вот мой MVC Просмотр

<title>jqGrid for ASP.NET MVC - Demo</title> 
    <!-- The jQuery UI theme that will be used by the grid -->  
    <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.0/themes/redmond/jquery-ui.css" /> 
    <!-- The Css UI theme extension of jqGrid --> 
    <link rel="stylesheet" type="text/css" href="../../Content/themes/ui.jqgrid.css" />  
    <!-- jQuery library is a prerequisite for jqGrid --> 
    <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.9.0.min.js" type="text/javascript"></script> 
    <!-- language pack - MUST be included before the jqGrid javascript --> 
    <script type="text/javascript" src="../../Scripts/trirand/i18n/grid.locale-en.js"></script> 
    <!-- the jqGrid javascript runtime --> 
    <script type="text/javascript" src="../../Scripts/trirand/jquery.jqGrid.min.js"></script> 

    <link rel="stylesheet" type="text/css" href="../../Content/MyStyle.css" /> 

    <script type="text/javascript"> 
     var myGrid = $('#list'); 
     $(function() { 
      $("#list").jqGrid({ 
       url: '/JqGridClients/DynamicGridData/', 
       datatype: 'json', 
       mtype: 'GET', 

       colNames: ['ClientID', 'Address', 'Company', 'Name'], 
       colModel: [ 
      { name: 'ClientID', index: 'ClientID', search: false, align: 'left', formatter: PKId_formatter }, 
      { name: 'Address', index: 'Address', search: true, sortable: true, align: 'left' }, 
      { name: 'Company', index: 'Company', search: true, align: 'left', stype: 'select' }, 
      { name: 'Name', index: 'Name', search: true, sortable: true, align: 'left', searchoptions: { sopt: ['cn' ,'eq', 'ne']}}], 
       pager: jQuery('#pager'), 
       rowNum: 10, 
       width: '100%', 
       height: '100%', 
       rowList: [5, 10, 20, 50], 
       sortname: 'ClientID', 
       sortorder: "desc", 
       viewrecords: true, 
       loadonce: true, 
       caption: 'Clients', 

      }).navGrid('#pager', { search: true, edit: true, add: false, del: true, searchtext: "Search" }); 

       $("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: 'cn' }); 

       $("#list").setGridParam({data: results.rows, localReader: reader}).trigger('reloadGrid'); 
     }); 

     function PKId_formatter(cellvalue, options, rowObject) { 
    return '<a href="Client/Edit?id=' + cellvalue + '" class="ui-icon ui-icon-pencil" ></a> <a href="Client/Delete?id=' + cellvalue + '" class="ui-icon ui-icon-trash" ></a>'; 
} 

    </script> 

    <h2>Index</h2> 

<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table> 
<div id="pager" class="scroll" style="text-align:center;"></div> 

enter image description here

ответ

1

используется ui-icon класс для <a> элементов внутри из PKId_formatter функции. Таким образом, элементы <a> будут иметь стиль CSS display: block. Вы можете решить проблему разными способами. Например, вы можете добавить style="display:inline-block" в <a> элементов.

Вы должны рассмотреть возможность использования formatter: "actions" (см., Например, here) вместо использования пользовательского форматирования.

Смежные вопросы