İçinde aşağıdaki sütun ile ASP.NET 2.0 DataGrid var:DataGrid denetimi Engelli
<ASP:TEMPLATECOLUMN>
<ItemStyle HorizontalAlign="Right"></ItemStyle>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server"
CssClass="DataGridCommand" Target="_blank"
NavigateUrl='<%# GetPreviewURL(DataBinder.Eval(Container, "DataItem.NodeID")) %>'>
Preview Graphic
</asp:HyperLink>
</ItemTemplate>
</ASP:TEMPLATECOLUMN>
Yani temel fikir geri Bir açılan tekmeler DataGrid her satırda bir bağlantı sahip olmaktır görüntü önizleme (NodeID için veriye bağlı bir sütuna gönderme). Bu iyi çalışıyor.
İlişkilendirilmiş resim bulunmayan satırların bağlantılarını devre dışı bırakmaya çalışıyorum. Bunu yapmak için ben Page_Load altında, kodda bu koyun: Gördüğünüz gibi
foreach (DataGridItem dgi in this.dgNode.Items)
{
HyperLink myLink1 = (HyperLink)dgi.Cells[0].FindControl("HyperLink1");
//myLink1.Visible = false;
//if (condition for hiding links goes here...)
myLink1.Enabled = false;
this.dgNode.DataBind();
}
, ben visible özelliğini false ayarlayarak çalıştı, ancak bu işe yaramadı. Sahte izin vermeyi denedim, işe yaramadı. Ve sonra DataGrid'i tekrar veritabanına almaya çalıştım - işe yaramıyor. Bağlantılar normal şekilde çalışmaya devam eder.
Bunun neden işe yaramadığını, çalışmasını sağlamak için ne yapılabileceğini ve temel olarak kusurlu ise alternatif bir çözüm olduğunu bilen var mı? Belirli satırlar için bağlantıyı griye çekmek veya tıklanmayacak şekilde gizlemek istiyorum.