页面上有一个datagrid,如果datagrid的一个列时BoundColumn时,读取列单元格中的值的方法为datagrid1.Items[i].Cells[2].Text(),但是如果该列是HyperLinkColumn时,应该如何读取呢?

解决方案 »

  1.   

    读取不了的。你可以加一个BoundColumn用于绑定HyperLinkColumn一样的数据源,设BoundColumn为不可见,然后要读取的时候读BoundColumn里的就可以了。
      

  2.   

    你是不是要在点击连接的时候传值啊
    <asp:HyperLinkColumn Text="修改" DataNavigateUrlField="PollID" DataNavigateUrlFormatString="editpoll.aspx?id={0}"
    HeaderText="投票项目">
    这样在点击的时候就可以把这一行的你所要求的那个字段值传过去,在代码里你只要用个变量接受一下就可以了。
    这是我用过的一个超连接传值的代码,你可以照着修改一下了。
      

  3.   

    用模板列方便一些..
    linkbutton lnk= (linkbutton)datagrid1.Items[i].Cells[2].findcotrol("ID")
    lnk.text=............
      

  4.   

    string str = datagrid1[iRow, iCol];
      

  5.   

    使用超链接列,无非是想使用url字段和url格式串来链接到别的页面,但是在后台代码中不能读取此列的值;使用模板列不能实现同样的功能,但是能读取列中的内容。
    目前我一般的解决方案是:采用超链接列,再通过别的方法读取列值,而不是从datagrid中读取