我有一列用了 超级连接链如 数据Sql: Selectt Name,Fg From  Tab
用DataGrid显示数据
Fg =1 的行 表示 此记录可用 显示为白色
Fg =2 的行 表示 此记录不可用 显示为红色 并且此行 的超级连接链列不可用不同行显示 不同颜色 这个我会 
问题是怎么使超级连接链列不可用?

解决方案 »

  1.   

    如果是1就是超连接
    怎么做<asp:HyperLinkColumn Target="_blank" DataNavigateUrlField="ProId" DataNavigateUrlFormatString="Product_Detail.aspx?ProId={0}"
    DataTextField="XLBM" SortExpression="XLBM" HeaderText="系列编码" FooterText="系列编码"></asp:HyperLinkColumn>我代码这么写的
      

  2.   

    在DataGrid的ItemBound事件中加入:
    if ( e.Item.ItemType==ListItemType.Item )
    {
        LinkButton lb = e.Item.cell[列数].Controls[0] as LinkButton
        if ( ....... )
        {
            lb.En........ = false;
        }
    }呵。
      

  3.   

    if ( e.Item.ItemType==ListItemType.Item )这是啥意思
      

  4.   

    //******你把超连接放在模版列在中吗//******在后进行判断
    private void DGRid_ItemDataBound(object 
                             sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //*****获取状态值
             HtmlInputHidden txtState=(HtmlInputHidden)e.item.findcontrol("txtState");
             //****如果为一个话有超连接,否则没有
             if(txtState!=null)
             {
                 if(txtState.value=="1")
                 {
                    HyptURL.NavigateUrl="webfrom.aspx?State="+txtState.value;
                 }
                 else
                 {
                   HyptRUL.NavigateUrl="";
                 }
        
             }
    }
      

  5.   

    private void Dgrid_Pro_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if ( e.Item.ItemType==ListItemType.Item )
    {
        LinkButton lb = e.Item.Cells[2].Controls[0] as LinkButton;
       if(e.Item.Cells[1].Text.Trim()=="1")
       {
            lb.Enabled = false;
        }
    }
    }
    运行有问题
    未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 244:   if(e.Item.Cells[1].Text.Trim()=="1")
    行 245:   {
    行 246:        lb.Enabled = false; ///这里红色标志
    行 247:    }
    行 248:}
     
      

  6.   

    我超连接用
    <asp:HyperLinkColumn Target="_blank" DataNavigateUrlField="ProId" DataNavigateUrlFormatString="Product_Detail.aspx?ProId={0}"
    DataTextField="XLBM" SortExpression="XLBM" HeaderText="系列编码" FooterText="系列编码"></asp:HyperLinkColumn>
      

  7.   

    我现用模板
    <asp:TemplateColumn SortExpression="XLBM" HeaderText="测试" FooterText="测试">
    <ItemTemplate>
    <asp:HyperLink id="HyptURL" runat="server" NavigateUrl="http://"></asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>后台 
    HyptURL.NavigateUrl="webfrom.aspx";
    我编译时 提示
     找不到类型或命名空间名称“HyptURL”(是否缺少 using 指令或程序集引用?)
    啥回事