Ai-je juste manqué quelque chose de simple ici? Sans entrer dans le formatage personnalisé, je voudrais juste utiliser mes valeurs d'ID pour le paramètre ID dans le formateur showlink
. Voici un exemple de mon sous-réseau:jqGrid ShowLink Formatter - Paramètre ID personnalisé
subGridRowExpanded: function (subgrid_id, row_id) {
var subgrid_table_id = subgrid_id + '_t';
$('#' + subgrid_id).html('<table id="' + subgrid_table_id + '" class="scroll" />');
$('#' + subgrid_table_id).jqGrid({
datatype: 'local',
colNames: ['Order Number', 'Request Type', 'Owner', 'Order Status', 'Status Date'],
colModel: [{
name: 'orderid',
index: 'orderid',
width: 150,
key: true,
formatter: 'showlink',
formatoptions: { baseLinkUrl: 'AOFOrderFacilities.aspx', idName: 'orderid' }
}, {
name: 'type',
index: 'type',
width: 100
}, {
name: 'owner',
index: 'owner',
width: 200
}, {
name: 'status',
index: 'status',
width: 150
}, {
name: 'date',
index: 'date',
width: 150
}],
sortname: 'num',
sortorder: 'asc',
height: 'auto'
});
// TODO: Make this into an AJAX call. This is just for demo.
var mysubdata = [
{ orderid: 'O000', type: 'Data', owner: 'Melanie Martin', status: 'Saved', date: '2/4/2011 11:48:18 AM' },
{ orderid: 'O000', type: 'Voice', owner: 'Billy Solomon', status: 'Submitted to TC', date: '2/4/2011 12:03:47 PM' }
];
for (var i = 0; i <= mysubdata.length; i++)
jQuery('#' + subgrid_table_id).jqGrid('addRowData', i + 1, mysubdata[i]);
}
Lorsque les liens dans la première colonne de la grille sont rendus, ils affichent correctement la valeur orderid
que le texte de la colonne (pré-suspendu « O » est intentionnel, et doit être transmise par le système comme cela), mais les liens résultants sont les suivants:
http://localhost/somestuff/AOFOrderFacilities.aspx?orderid=1
http://localhost/somestuff/AOFOrderFacilities.aspx?orderid=2
et ainsi de suite, où la valeur du paramètre d'identification est l'indice ordinal de la ligne de grille au lieu de la valeur de consigne à partir de les données. Existe-t-il un moyen facile d'utiliser la valeur des données à la place?
Ah, je hadn Je n'ai même pas remarqué l'option 'data', je passais juste par quelques exemples sur le site web jqGrid. Il est logique qu'il utilise l'index de 'addRowData' maintenant que vous le mentionnez. Le simple fait de passer le tableau de données en tant qu'option est beaucoup plus logique et fonctionne parfaitement. Merci! – David
@David: Vous êtes les bienvenus! – Oleg
@Oleg: S'il vous plaît, aidez-moi à placer un lien personnalisé de formatage dans [mon exemple] (http://stackoverflow.com/questions/7119297/showlink-custom-formatter-in-jqgrid) – abi1964