【问题标题】:Filter values in phpgrid过滤 phpgrid 中的值
【发布时间】:2015-04-24 15:57:06
【问题描述】:

我正在使用 phpgrid.com 的数据网格,并希望通过过滤和仅允许某些产品而不是所有产品来创建一个名为 products 的列。现在我可以这样做了吗?

$dg = new C_DataGrid("SELECT kbid,type,issuesummary,productid,priority,createddate,lastupdated,status,resolution,assigneduserid FROM issues", "kbid", "orders");
$dg->set_col_title("kbid", "KBID");
$dg->set_col_width("kbid", 50);
$dg->set_col_title("type", "Type");
$dg->set_col_width("type", 50);
$dg->set_col_title("issuesummary", "Summary");
$dg->set_col_width("issuesummary", 300);
$dg->set_col_title("productid", "Product");
$dg->set_col_width("productid", 70);
$dg->set_col_title("priority", "Priority");
$dg->set_col_width("priority", 70);
$dg->set_col_title("createddate", "Reported");
$dg->set_col_width("createddate", 50);
$dg->set_col_title("lastupdated", "Updated");
$dg->set_col_width("lastupdated", 50);
$dg->set_col_title("status", "Status");
$dg->set_col_width("status", 50);
$dg->set_col_title("resolution", "Resolution");
$dg->set_col_width("resolution", 50);
$dg->set_col_title("assigneduserid", "Assigned");
$dg->set_col_width("assigneduserid", 70);
$dg -> enable_resize(false);
$dg -> set_caption("Issue Base");
$dg->enable_kb_nav(true);
$dg -> enable_search(true);
$dg -> set_dimension(1300, 460);
$dg -> set_col_edittype('status', 'select', 'OP:Open;CL:Closed;DF:Deferred;VE:Vendor;FQ:FAQ');
$dg -> set_col_edittype('type', 'select', 'IP:IP;IT:IT;UP:UP;UQ:UQ;UW:UW;IF:IF;UF:UF;IW:IW;DI:DI');
$dg -> set_col_edittype('priority', 'select', '0:None;1:Urgent;2:High;3:Medium;4:Low;5:Lowest');
$dg -> set_col_edittype('resolution', 'select', 'PP:Pending Review;FX:Fixed;UR:Unreproducable;AD:As Designed;UF:Unable to Fix;WD:Withdrawn;NI:Need More Info;AS:Assigned;WK:Working on Issue;TS:Testing Issue;RJ:Rejected;UF:Temporary Fix;AC:Accepted');
$dg -> set_col_edittype('productid', 'select', '17:ALCS/GI;20:ALCS/ZAS;125:Beta zTPFGI;16:RTF;114:zTPFGI');
$dg -> set_col_edittype('assigneduserid', 'select', $y);
$dg -> set_col_property("lastupdated", array("formatter"=>"date","formatoptions"=>array("srcformat"=>"ISO8601Short","newformat"=>"d-m-Y")));
$dg -> set_col_property("createddate", array("formatter"=>"date","formatoptions"=>array("srcformat"=>"ISO8601Short","newformat"=>"d-m-Y")));
$dg->set_pagesize(30);
$dg->enable_export('EXCEL');
$dg->display(); 

我想过滤列 productid 并只显示值 16,17,20,114,125。

【问题讨论】:

    标签: php jquery phpgrid


    【解决方案1】:

    首先,我认为第一行是错误的。最后一个参数始终是表名,如此处所述:

    http://phpgrid.com/example/example-1-a-basic-php-datagrid-2/

    注意第三个参数总是等于数据库表 名称,而不是别名或任何任意名称(见下文)。

    正确的行是:

    $dg = new C_DataGrid("SELECT kbid,type,issuesummary,productid,priority,createddate,lastupdated,status,resolution,assigneduserid FROM issues", "kbid", "issues");
    

    现在,回到您的问题,您需要使用 set_query_filter 过滤数据。它基本上添加了 WHERE sql 子句,并在呈现网格之前从数据库中过滤。 http://phpgrid.com/documentation/set_query_filterwhere/

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 2017-04-04
      • 2014-02-20
      • 2020-01-07
      • 2016-09-13
      • 2017-06-23
      相关资源
      最近更新 更多