怎么在DataGrid中是某一列可以进行超连接! (通过静态属性编辑是可以的!)
加HyperLinkColumn就OK了啊!

解决方案 »

  1.   

    no1:DataGrid1.Columns[4].HeaderText = "哈啊!"
      

  2.   

    no2:this.dgData.DataSource = this.dtTable.DefaultView;
      

  3.   

    第二:int ColCount=datagrid.Columns.Count;
          你把this去掉试一下,可能是指向不明。还不可以,则是你的datatable中是否有数据(你跟踪确定一下)。可能是你的datatable中根本就没有值。Columns你写错了!!
         关于绑定 datagrid.datasource=datatable;和datagrid.datasource=datatable.defaultview;只是直接绑定到datagrid的上的话是没有区别的。要是你在datagrid中放了<columns><TemplateColumn><ItemTemplate>……的话,绑定值到控件上,就要用datatable.defaultview;
    第三:在datagrid中加<asp:HyperLinkColumn
                     HeaderText="Select an Item"
                     DataNavigateUrlField="IntegerValue"
    第一:有下划线??试试通过HeaderStyle 属性来改变一下!
                     DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                     DataTextField="PriceValue"
                     DataTextFormatString="{0:c}"
                     Target="_blank"/>
      

  4.   

    首先, 先谢过楼上好友们.回答如下:1.我用的是Web控件的DataGrid
    2."加HyperLinkColumn就OK了啊!"---我是再程序中动态加入不同的表到DataGrid中,所以你的方法好像不能实现.要是固定的话是可以的.
    3."no1:DataGrid1.Columns[4].HeaderText = "哈啊!""
      你的这步跟我下一步想法是一样的, 现在关键是
    /***********
           " 紧接1, 当执行this.dgData.DataSource = this.dtTable;
                   this.dgData.DataBind();
             后, 执行
             int nTotal = this.dgData.Colums.Count;   //为0!!!!!!""""
    ************************************************************/
    4."no2:this.dgData.DataSource = this.dtTable.DefaultView;"
    --------我照着把后面的.DefaultView加了上去.但是不行出现错误
    :
    类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
    /************************************************[HttpException (0x80004005): 类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。]
       System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +1479
       System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +677
       System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +170
       System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +256
       System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +281
       System.Web.UI.LosFormatter.SerializeInternal(TextWriter output, Object value) +102
       System.Web.UI.Page.OnFormRender(HtmlTextWriter writer, String formUniqueID) +143
       System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +35
       System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +395
       System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
       System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +72
       System.Web.UI.Control.Render(HtmlTextWriter writer) +7
       System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
       System.Web.UI.Page.ProcessRequestMain() +1900
    ***************************************************************************/
     -------------我用的表是自己再程序中创建的, 不是已创建好的.
    5.最后一位老哥;
      其实再我No2. 中执行,再DataGrid表中是可以实事看到数据的,这说明表中肯定有数据存在
    只是"  int nTotal = this.dgData.Colums.Count;   //为0!!!!!! "
    这也太奇怪了吧, 数据再DataGrid里面显示正确, 列数也对, 为什么使用上述代码不能获取它当前的总列数,当然如果获取正确的话, 那么超连接就很好实现了
    "DataGrid1.Columns[4].SortExpression= "......."
    请高手们继续go on
      

  5.   

    上面的错误已经查明, 
    现在主要是下面问题了:"
    其实再我No2. 中执行,再DataGrid表中是可以实事看到数据的,这说明表中肯定有数据存在
    但是"  int nTotal = this.dgData.Colums.Count;   //怎么会为0!!!!!! "
    这也太奇怪了吧, 数据再DataGrid里面显示正确, 列数也对, 为什么使用上述代码不能获取它当前的总列数,当然如果获取正确的话, 那么超连接就很好实现了
    "DataGrid1.Columns[4].SortExpression= "......."
    "