私はphpとjqueryには新しく、どんな助けでも大歓迎です。私は基本的にデータベースに保存されている予約に関するすべての情報を表示する '予約'というグリッドを持っています。Jqgrid - グリッド上で選択された行ごとにテキストボックスに情報を表示する方法
あなたはそれが彼らの予約に関するすべての情報を表示するjQueryのダイアログボックスが表示されます行をダブルクリックすると:現時点では
、予約どんなにあなたがクリック常にデータベースの最初の行からの情報を表示します。私が望むのは、行が選択されたデータベースのデータを表示することです。
$pdo = new SQL();
$dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);
try {
$query = "SELECT * FROM tblbookings";
$stmt = $dbh->prepare($query);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_BOTH);
/* Company::set_id($row['Id']);
Company::set_name($row['CompName']); */
BookingDocket::set_id($row['id']);
BookingDocket::set_bookref($row['bookref']);
BookingDocket::set_returndate($row['returndate']);
$stmt->closeCursor();
}
catch (PDOException $pe) {
die("Error: " .$pe->getMessage(). " Query: ".$stmt->queryString);
}
$dbh = null;
}
JQGridコード:
$("#bookings").jqGrid({
url:'scripts/php/bootstrp/cp.request.php?ft=gg&table=bookings&showindex=0',
datatype: 'xml',
mtype: 'GET',
colNames:['id', 'Booking Reference','Date of Booking','Time of Booking','Fare'],
colModel :[{name:'id', index:'id', hidden:'true', align:'center', search:false, width:'210px'},
{name:'bookref', index:'bookref', align:'center', search:true, width:'210px'},
{name:'recordeddate', index:'recordeddate', align:'center', search:false, width:'210px'},
{name:'recordedtime', index:'recordedtime', align:'center', search:false, width:'210px'},
{name:'fare', index:'fare', align:'center', search:false, width:'210px'}],
pager: $('#bookingsPager'), rowNum:500, rowList:[500,2000,5000,10000],
sortname: 'recordeddate',
sortorder: "desc",
viewrecords: true,
hidegrid: false,
rowNum: 500,
imgpath: 'lib/themes/steel/images',
height: '300px',
forceFit: true,
caption: 'Bookings History',
loadtext: 'Loading',
loadui:'enable',
ondblClickRow: function(rowid)
{
var rowData = new Array();
rowData = $("#bookings").getRowData(rowid);
$("#cp-bookings-dialog").dialog({ hide: 'slide', height: 625, width: 733, title: 'Booking Reference: - '+ rowData['bookref'] });
},
editurl: 'scripts/php/bootstrp/cp.request.php?ft=ug&table=bookings'
}).navGrid("#bookingsPager",{refresh:true,search:true,add:false,edit:false,del:false});
$("#bookings").setGridWidth('710px',false);
すべてのヘルプは素晴らしいことだ
これは、PHPのコードです!
このためのおかげで、私はJQDialogに隠された行のIDで行を選択することになるSQL文にWHERE句を追加することができますこれを行う方法はありません。その後、IDが、JQDialogボックスの隠しテキストボックスに投稿され、その行が選択されると、その行が選択されます。 – nsilva
@ user1128694:原因は1つではありますが、もっとJavaScriptコードを書く必要があります。問題は、現在のコードとjQuery UIダイアログのScreenshortが、jQuery UIとjqGridの初心者であることを示していることです。グリッドに隠された詳細をロードしないようにしたいのであれば、グリッドを少し速くロードすることを提案しましたが、すべての「詳細な」ダイアログのロードはゆっくりと行われます。したがって、**すべての**詳細をjqGridの隠れた行にロードし、詳細を表示するために「表示」ダイアログを使用することをお勧めします。 jqGridに 'gridview:true'オプションを追加することをお勧めします。 – Oleg
@ user1128694:あなたのコードへの注意:不要な 'id'カラムを削除することができます。入力XMLデータを修正する場合は、グリッドの'
私はあなたがdiferent行を取得する方法のondblClickRowを実装する必要があると思う:
注:画像と同様のフォーマットを取得するためのHTML()すべてのタグに入れてください。
出典
2012-02-29 12:42:25
関連する問題