저는 jquery 및 jqgrid를 처음 사용하지만 자바 스크립트에 익숙합니다. 그러나 나는 노력한 후에 jqgrid를 설치할 수 있었다.셀의 내용 (ID뿐 아니라)에 따라 조건부로 레코드 삭제 버튼을 활성화 또는 비활성화하십시오.
나는 '잠금'열의 값에 따라 탐색 모음에서 삭제 기능을 사용하지 못하게하는 해결책을 찾기 위해 노력해 왔습니다. 다음 링크를 읽었습니다 jqgrid: how to set toolbar options based on column value in row selected
하지만 자바 스크립트의 '잠금'셀의 내용을 가져올 수 없습니다. 또한 효과없이 잠금 문자열을 포맷하려고했습니다.
jqgrid는 PHP를 통해로드됩니다. 이 스크립트는 PHP 스크립트는 여기 http://www.trirand.net/demophp.aspx
입니다 다음
require_once("JQGrid/jq-config.php");
require_once("JQGrid/php/jqGridASCII.php");
require_once("JQGrid/php/jqGridPdo.php");
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
$grid = new jqGridRender($conn);
$grid->SelectCommand = 'SELECT * FROM `device_assignement` ';
$grid->dataType = 'json';
$grid->setColModel();
$grid->setUrl('Grid_ecu_display.php');
$grid->setColProperty("company",
array("label"=>"Dealer Name",
"width"=>350
),
array("searchrules"=>
array("searchhidden"=>false, "required"=>false, "search"=>false)));
$grid->setGridOptions(array(
"sortable"=>true,
"rownumbers"=>true,
"rowNum"=>40,
"rowList"=>array(10,50,100),
"sortname"=>"ecu",
"width"=>940,
"height"=>400,
"shrinkToFit"=>true,
"hidden" => true,
"hoverrows"=>true));
$grid->toolbarfilter = true;
$grid->setFilterOptions(array("stringResult"=>true));
$grid->setColProperty("ecu", array(
"label"=>"ECU Number" ,
"sortable"=>true
));
$grid->setColProperty("lock", array(
"label"=>"<i>Lock</i>" ,
"width"=>60,
"sortable"=>false,
"editable"=>true
));
등 등 ...
$ecu = jqGridUtils::GetParam('ecu');
// This command is executed immediatley after edit occur.
$grid->setAfterCrudAction('edit', "UPDATE `ecu_master` SET `lock` = '1' WHERE `ecu` =?",array($ecu));
$grid->navigator = true;
$grid->setNavOptions('navigator', array("pdf"=>true, "add"=>false,"edit"=>true,"del"=>false,"view"=>false, "excel"=>true));
$grid->setColProperty('company',array("searchoptions"=>array("sopt"=>array("cn"))));
$oper = jqGridUtils::GetParam("oper");
if($oper == "pdf") {
$grid->setPdfOptions(array(
// set the page orientation to landscape
"page_orientation"=>"L",
// enable header information
"header"=>true,
// set bigger top margin
"margin_top"=>27,
// set logo image
//"header_logo"=>"logo.gif",
// set logo image width
//"header_logo_width"=>30,
//header title
"header_title"=>"Autograde CMS ECU Allocation List",
// and a header string to print
"header_string"=>"$SoftwareVersion"
));
}
// Run the script
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
이것은 어디 다른 PHP 스크립트에 포함되어 있습니다. 내가 원하는 것은 "잠금"값을 기준으로 행 삭제 버튼을 활성화 또는 비활성화하는 것입니다. 이것이 너무 기본적이고 우스꽝스럽게 보이는 경우 이해하겠다고 알려주십시오.
솔루션을 적용했지만 json 데이터를 호출하는 PHP 스크립트를 포함하여 내에이 정보를 추가해야합니까? – Kaippally
@ user1188970 : 죄송하지만, 무슨 뜻인지 이해가 안됩니다. 나는 당신이 올바른 방법으로 jqGrid를 사용하는지 확신하지 못한다. 코드 예제는 문서의 [부분] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:first_grid#html_file)을보십시오. – Oleg
이것은 jason 데이터를 제공하는 PHP 스크립트의 출력입니다. "" "" "1", "페이지": 1, "합계" add_date_timestamp ":"2012-01-27 10:13:01 ","company ":"Global Auto electricals ","email ":"[email protected] ","phone ":"97335784587 ","mobile " : "+ 9714967451348"} ] } – Kaippally