麻烦将内联CRUD添加到jqGrid表 - 我错过了什么?

时间:2016-03-17 20:20:46

标签: javascript jquery jqgrid crud inline-editing

请查看此prototype

该页面上显示所有相关的客户端代码。以下是相关的服务器端代码:

use Locale::Currency::Format;
use strict;
use warnings;

my $db = 'profitorius';
my $hostname = 'localhost';
my $user = 'me';
my $dbpwd = 'mypw';
my $dbh = DBI->connect_cached("DBI:mysql:database=$db;host=$hostname",$user,$dbpwd,{RaiseError => 1}) or die "Failed to connect to the DB.\n";

my $cgi = CGI->new;
my $mid = $cgi->param('mid');


print $cgi->header(-type => 'text/xml;charset=latin1');
my $page = 1;
my $total_pages = 1;
my $s = "<?xml version='1.0' encoding='latin1'?><rows>";
$s .= "<page>".$page."</page>";
$s .= "<total>".$total_pages."</total>";
unless (defined $mid) {
    my $rcnt = 0;
    $s .= "<records>".$rcnt."</records></rows>";
    print $s;
    exit;
}
my $sql = "SELECT id, Product_name, price, customization, custom_price FROM merchant_products WHERE mid = $mid;";
my $sth = $dbh->prepare($sql);
$sth->execute;
my $tbl_ary_ref = $sth->fetchall_arrayref;
my @ary = @$tbl_ary_ref;
my $rcnt = @ary;
$s .= "<records>".$rcnt."</records>";#<rows>
foreach my $v (@ary) {
    my @r = @$v;
    $r[2] = currency_format('USD',$r[2], FMT_HTML);
    $s .= "<row id='". $r[0]."'>";
    $s .= "<cell>". $r[0]."</cell>";
    $s .= "<cell>". $r[1]."</cell>";
    $s .= "<cell>". $r[2]."</cell>";
    $s .= "<cell>". $r[3]."</cell>";
    $s .= "<cell>". $r[4]."</cell>";
    $s .= "</row>";
}
$s .= "</rows>";
print $s;
exit;

我知道最后一列需要格式化为货币,但这不是问题。

  1. 我的第一个问题是,正如您将注意到的那样,按钮为 不显示添加,编辑和删除行。我找到了两个 添加这些内容的示例,用于内联编辑,但都不起作用。 如何更改Javascript以使其可用?
  2. 我的第二个问题,在我遇到第一个问题之前我无法调查 已解决,是如何处理已添加的行的问题, 编辑完成后编辑或删除。如果我想使用 单独的CGI脚本来处理行添加,行删除和行 更新,如何在创建网格时指定这些?如果我 在填充的相同CGI脚本中处理此类更改 网格,我以什么方式改变它?很难说因为所有 我发现的示例都是在PHP中,我知道足够的PHP 很危险
  3. 我的下一个问题涉及捕获和处理onchange事件 内联编辑器是一个控件。最终,我将设置(在一个 不同的网格)其中一个内联编辑器选择控件,我会 想要在两个或三个其他字段中设置值(只读字段为 就用户而言 - 只有我的Javascript代码能够 根据从中选择的项目更改这些恶魔中的值 选择控件。这里的部分问题是如何表示 Javascript中的地图(来自C ++或Java)或散列(来自Perl)的想法。
  4. 我的最后一个问题集中在数据管理上。数据必须是 输入时保存到服务器,用户完成编辑 行,或者是否可以将更改全部存储在DOM中 当表格数据很小时,表格数据一下子全部保存 部分,是否提交处理?你能指点我一个例子 两种选择?如果我必须在更改时保存每一行,那就是 还没有告诉我如何保留每个表数据 用户/会话与其他所有人不同。
  5. 显然我一定错过了jqGrid文档中的内容,但问题是什么。

    由于

    泰德

0 个答案:

没有答案