jquery datatables actionlink comment ajouter
J'ai été à la recherche pour les dernières heures, et, malheureusement, je n'arrive pas à trouver un exemple de comment faire pour remplir un datatable avec une action de modifier et de supprimer le lien de la colonne à l'aide .net et MVC.
Voici ce que j'ai à ce jour, comment puis-je ajouter un lien d'action? Ce qui me manque?
<script type="text/javascript">
$(document).ready(function () {
$('#myDataTable').dataTable({
bProcessing: true,
sAjaxSource: '@Url.Action("Index1", "Default1")'
});
});
</script>
<div id="container">
<div id="demo">
<table id="myDataTable">
<thead>
<tr>
<th>
RoleId
</th>
<th>
RoleName
</th>
<th>
UserId
</th>
<th>
UserName
</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
Je veux ajouter ceci dans la dernière colonne;
<td>
@Html.ActionLink("Edit", "Edit", new {id=item.PrimaryKey}) |
@Html.ActionLink("Details", "Details", new { id=item.PrimaryKey }) |
@Html.ActionLink("Delete", "Delete", new { id=item.PrimaryKey })
</td>
Mais ne peut pas comprendre comment le faire.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
aoColumns
propriété avecfnRender
fonction pour ajouter des colonnes personnalisées.Vous ne pouvez pas utiliser la
Html.ActionLink
helper parce que vous avez à générer les liens dynamiquement à partir de javascript. LeaoColumns
propriété vous permet de configurer chacune des colonnes, si vous ne souhaitez pas configurer une colonne particulière juste passernull
que vous avez passer unobject({})
.La
fnRender
fonction vous aide à créer les liens en utilisant les valeurs des autres colonnes. Vous pouvez utiliser leoObj.aData
pour obtenir les valeurs de l'autre colonne commeid
pour générer les liens.Une autre chose importante à la sortie JSON vous de retour à partir du serveur, pour la colonne modifier aussi que vous avez à retourner quelque chose comme 1, 2, 3 ou quoi que ce soit.
Référence: http://jquery-datatables-editable.googlecode.com/svn/trunk/ajax-inlinebuttons.html
La fnRender a été amorti et la mRender n'a pas reçu les mêmes paramètres.
Cela fonctionne pour moi, suivez le @Mark exemple:
Les autres réponses sont à l'aide de l'héritage tables de données syntaxe. Pour DataTables 1.10+, la syntaxe pour columnDefs est comme suit:
remarque: afin d'obtenir le Modèle de la ActionLink, je suis en utilisant JavaScript replace() pour remplacer la chaîne "remplacer" avec
data
, qui est défini comme "RoleId" plus tôt dans le columnDefUne autre approche avec aoColumnDefs
J'ai utilisé le code mentionné pour la datatable 1.10+, mais à obtenir de la chaîne dans la table de données de la cellule à la place de la le lien.
noter que l'utilisation et le vieux mvc3 version sur la solution
Voici mon code javascript:
J'ai trouvé une autre manière d'obtenir cette actionlink fonctionne à l'aide de l'aide de ce post (olivier commentaires):
vous ajoutez des données des balises attributs dans la table nœud que vous réutilisation dans le Javascript
dans cshtml:
dans votre *.fichier js dans ce columndefs zone:
cela fonctionne pour moi
ajouter ce que votre Modifier /colonne Action