LinkButton ou template ??? [Résolu]

Signaler
Messages postés
54
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
10 janvier 2006
-
Messages postés
54
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
10 janvier 2006
-
est il possible de faire (statique ou dynamiquement) une colonne linkButton (Ajouter, Annuler, ...) dans un datagrid sauf pour quelques lignes, qui ne seront pas modifiables en fait. du genre les lignes 1, 2 et 3 ne sont pas modifiable par les linkButton mais toutes les autres oui. je vois bien un moyen tout con en filtrant les évènement sur l'id mais tout de même... et en plus les linkButton sont toujours présents ce qui est déroutant.

sinon, on doit pouvoir s'en sortir avec un template et on met les buttons soit même (plus de travail)

qu'en pensez vous ?

merci !!!

4 réponses

Messages postés
54
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
10 janvier 2006

bon je me la joue simplement :

foreach(DataGridItem dgi in DataGrid1.Items)
{
int id=Convert.ToInt32(dgi.Cells[0].Text);
if(id<=4)
{
((LinkButton)dgi.Cells[8].Controls[1]).Visible=false;
((LinkButton)dgi.Cells[9].Controls[1]).Visible=false;
}
}
Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

Bonjour,

La seule façon que je vois, c'est en fesant de la bidouille (du code) dans l'événement rowdatabound(..) de ton datagrid => recuperer la colone contenant le linkButton de la ligne courrante et desactiver ce que tu souhaites dedans. Je ne pense pas qu'il y'ait de solution pour faire ça directement dans l'aspx.

Bon courage!


<HR>
Azra (Florent) - MVS - MCAD.NET
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Hum, si tu connais les lignes je propose du javascript ;) et tu filtres par id coté serveur pour les paranos qui ont désactivé js ...

bref tu fais une fonction du genre

var removeBadLinkButton function(TableID, linkButtons)
{
for (var i = 0; i < linkButtons.length; i++)
{
document.removeChild(document.getElementById(linkbuttons[i]));
}
}

puis coté serveur tu fais un truc du genre

page.clientScript.registerClientScript(typeof(page), "removeBadLinkButton", "removeBadLinkButton('" + dg.clientID + "',{'id1', 'id2', 'id3'})", true);

tu vois à peut prés le principe ? je suis pas sur du code mais c'est le principe qui est important :)


<HR>
Cyril - MVS - MCP ASP
Messages postés
54
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
10 janvier 2006

merci pour vos réponse je vais regarder ça d'encore plus près