Как установить правила сортировки на jqgrid? - PullRequest
0 голосов
/ 24 августа 2010

Я использую jqGrid.Один из столбцов имеет возможные значения:

Poor, Fair, Good, Very Good, Excellent, Ideal

Но когда вы сортируете по этому столбцу, они располагаются в алфавитном порядке:

Excellent, Fair, Good, Ideal, Poor, Very Good

Вместо ожидаемого интуитивного порядка.

Есть ли способ исправить это?

update

Вот фрагмент кода php для генерации сетки:

$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
$conn->query("SET NAMES utf8");
$grid = new jqGridRender($conn);


//Class to generate query
require('DiamondSQL.php');
$dsql = new DiamondSQL();

$dsql->diamond_table = "rapnet_diamonds";
$dsql->shape_column = "shape";
$dsql->carat_column = "carat";
$dsql->clarity_column = "clarity";

$dsql->setShapes($_GET['shapes']);
$dsql->setCaratMin($_GET['caratMin'] ? $_GET['caratMin'] : "0");
$dsql->setCaratMax($_GET['caratMax'] ? $_GET['caratMax'] : "5");
$dsql->setClarityMin($_GET['clarityMin'] ? $_GET['clarityMin'] : "FL");
$dsql->setClarityMax($_GET['clarityMax'] ? $_GET['clarityMax'] : "I3");

$qry = $dsql->buildQuery();

$grid->SelectCommand = $qry;
$grid->dataType = 'json';
$grid->setColModel();
$grid->setUrl('myfirstgrid.php');


$grid->setGridOptions(array(
    "caption"=>"Diamonds Found",
    "rowNum"=>200,
    "sortname"=>"diamond_id",
    "hoverrows"=>true,
    "sortable"=>0,
    "scroll"=>1,
    "height"=>300,
    "altRows"=>true,
    "colNames"=> array('ID', 'Shape', 'Carat', 'Clarity', 'Color', 'Cut')
));

$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;

1 Ответ

2 голосов
/ 24 августа 2010

Как я понимаю из контекста, который вы спрашиваете о локальной сортировке данных.

Ваши требования вы можете очень легко реализовать, используя комбинацию следующих параметров colModel:

edittype:'select', formatter:'select', sorttype:'int'

Рабочий пример, который вы можетесм. здесь http://www.ok -soft-gmbh.com / jqGrid / CustomLocalSort6.htm .(Пожалуйста, не смотрите на содержащиеся в них данные. Я просто изменил другой пример, чтобы получить ваши данные)

Другим способом реализации пользовательской локальной сортировки является использование sorttype в качестве функции или index в качестве функции вмодель столбца.Эти функции существуют, начиная с версии 3.8.Подробнее см. Мой пост на форуме trirand http://www.trirand.com/blog/?page_id=393/help/custom-local-sort-with-respect-of-the-function-as-index/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...