using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;");
        SqlCommand cmd = new SqlCommand("select * from link", conn);
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        GridView1.DataSource = dr;
        GridView1.DataBind();
        conn.Close();
        HyperLinkField hlf = new HyperLinkField();
        hlf.DataTextField = "url";
        hlf.HeaderText = "下载2";
        string[] a = new string[1] { "url" };
        hlf.DataNavigateUrlFields = a;
        hlf.Target = "_blank";
        HyperLinkField[] b = new HyperLinkField[1] { hlf };
        GridView1.Columns.Insert(2, hlf);//这句出错显示:插入索引已超出范围。必须为非负值,并且必须小于或等于大小。
参数名: index
       
        
    }
}
我要实现的是将表格“link”中的内容绑定到gridview中,让后在gridview的第三列用代码添加一列超链接,请高手指教啊~~~·

解决方案 »

  1.   

    将HyperLink写在gridview里,NavigateUrl 属性绑定link的内容
      

  2.   

    Insert方法不对
    应该用Add
    DataColumn c = new DataColumn();
            c.Caption = "连接地址";
            c.Container.Add(hlf);
            GridView1.Columns.Add(c);
      

  3.   

    Insert对现有存在的列进行插入操作, 你本身就两列,想在第三列上插入数据,当然会报告“插入索引已超出范围”
      

  4.   

    我绑定的表中有三列,在gridview中会显示三列,我想着第一列和第二列之间添加一列要怎么写啊,只能用代码