2010-03-07 1 views

Répondre

4

Il semble que getSelectRows() renvoie un tableau d'ID d'enregistrement. Vous pouvez récupérer l'enregistrement correspondant en utilisant getRecord(). Une fois que vous avez un enregistrement, utilisez getData() pour récupérer la valeur du champ qui vous intéresse.

var recordID = myDataTable.getSelectRows()[0], 
    record = myDataTable.getRecord(recordID); 
console.log(record.getData("myField")); 

http://developer.yahoo.com/yui/docs/YAHOO.widget.DataTable.html#method_getRecord http://developer.yahoo.com/yui/docs/YAHOO.widget.Record.html#method_getData

2

Je pense que je peux avoir la réponse pour vous en supposant que vous avez pas déjà Je l'ai trouvé toi-même. J'ai le même type de page avec un champ datatable et un champ textarea, lorsque vous sélectionnez une ligne dans les appels datatable la même page affiche plus de détails de la ligne sélectionnée dans le champ textarea et conserve la sélection de la ligne sélectionnée.

1: Pour ce faire, j'applique l'exemple suivant requête MySQL appelé AllMyBroadcasts ...

SELECT @rownum: = @ rownum + 1 RowNumber, p * DE tblBroadcasts p, (SELECT @rownum:. = 0) r ORDER BY date DESC

la table tblBroadcasts a des champs: date, narrative, ID

2: Je fournir ensuite ce qui suit à la ligne de table de ma YUI Datatable dans les balises de lien hypertexte HTML.

href = "MyPage.php? SelectedBroadcastID = '. $ Row_Broadcasts [' ID '].' & RowNumber = ». (Row_Broadcasts $ [ 'ROWNUMBER'] -1)

3: Lorsque le href est cliqué MaPage reload avec SelectedBroadcastID paramètres supplémentaires et RowNumber le SelectedBroadcastID que j'utilise dans une deuxième requête contre tblBroadcasts appelé MySlectedBroadcast qui simple requête sur sortie tous les champs où l'ID = SelectedbordcastID. Je puis à mon champ pour afficher le récit de ma ligne sélectionnée dans mon champ textarea.

la deuxième paramater je fais ce qui suit avec.

$ SelectedRowID = 0 ; if (isset ($ _ GET ['RowNumber'])) { $ SelectedRowID = $ _GET ['R owNumber ']; }

Ci-dessus j'ai placé juste après le code couvrant mes deux requêtes.

4: Puis, finalement, pour obtenir le datatable pour sélectionner la ligne de la ligne sélectionnée j'inclure ce qui suit à la section var yuidatdatable du script datatable ...

yuidatatable1.select (yuidatatable1.getRow()) ;

La valeur -1 référée à l'étape 2 sert à contourner le fait que yuidatatable fonctionne sur une base 0 et que MySQL est référencé à l'étape 1 sur une base 1.

Et voilà!

Peut-être y a-t-il une meilleure raison d'utiliser get from within YUIDatatable, soyez gentil de savoir si c'est le cas. Cela dit, ce travail est bien pour moi et peut-être que si vous n'avez pas trouvé de réponse j'espère que cela vous aidera.

Questions connexes