私はそれで、次の列を持つASP.NET 2.0でのDataGridていますので、基本的な考え方は、ポップをバックキック、データグリッドの各行にリンクを持っているのDataGridコントロール無効
<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>
です(NodeIDのデータバインドされた列を参照してください)。これはうまく動作します。
関連する画像がない行のリンクを無効にしようとしています。これを行うには私がPage_Loadの下、背後にあるコードでこれを置く:あなたが見ることができるように
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();
}
は、私がfalseにvisibleプロパティを設定しようとしたが、それは動作しませんでした。私はfalseを有効に設定しようとしましたが、どちらもうまくいきませんでした。そして、私は再びDataGridのデータバインドを試みました - うまくいきません。リンクは正常に機能し続けます。
なぜこれが機能しないのか、それを動作させるために何ができるのか、誰かが根本的に欠陥がある場合、別の解決方法を知っていますか?私は特定の行のリンクをグレーアウトするか、クリックしないように隠すかのどちらかを探しています。