webForumDet fria alternativet

GridView: Sätta visible i codebehind (RowDataBound) för commandField?

.NETur .NET

5 svar · 422 visningar · startad av Lukaspojken

LukaspojkenMedlem sedan maj 20011 312 inlägg
#1

Är det möjligt att sätta visible i RowDataBound för en commandField?

Jag gillar inte att blanda in kod i aspx-sidan så jag vill helst undvika detta:

<asp:CommandField Visible='<% IsUpdater(); %>' ShowEditButton="True" ButtonType="Image" CancelImageUrl="~/cancel.gif" EditImageUrl="~/edit.gif" UpdateImageUrl="~/save.gif" />

Men hur gör man för att sätta visible i RowDataBound?

ZaimanMedlem sedan dec. 20014 239 inlägg
#2

Använt sökfunktionen här på wF ?

Denna kanske hjälper dig på traven?

LukaspojkenMedlem sedan maj 20011 312 inlägg
#3

Japp, har även googlat men inte hittat något...

CatZMedlem sedan jan. 20022 440 inlägg
#4

Du får igenom kontrollerna i ordning. Din CommandField tex

GridView1.Columns[??].Visible
LukaspojkenMedlem sedan maj 20011 312 inlägg
#5

Det är ett sätt men helst skulle jag inte vilja använda index för att sätta synlighet på kolumnen. Om tex designern skapar en ny kolumn så känns det som att det kan generera ett onödigt fel.

Eller kan man hitta kolumnindexet för commandfield på något dynamiskt sätt?

CatZMedlem sedan jan. 20022 440 inlägg
#6

Lukaspojken skrev:

Det är ett sätt men helst skulle jag inte vilja använda index för att sätta synlighet på kolumnen. Om tex designern skapar en ny kolumn så känns det som att det kan generera ett onödigt fel.

Eller kan man hitta kolumnindexet för commandfield på något dynamiskt sätt?

Nej det går inte, då får du göra om det till en templatefield och söka med FindControl

120 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
117 ms — hämta tråd, inlägg och bilagor (db)