两个小问题...

燕飞7 2009-01-17 02:47:03
1.treeview绑定XML的时候,如何让treeview中节点链接到的页面显示在本页面的iframe中?
(各个节点链接的URL不同)
2.在后台绑定gridview时,修改它的列标题:
this.gridview1.columns[0].headtext="新的列标题"
提示出错:索引超出范围,必须为非负值并小于集合大小----(我想问的是,为什么会出现这个错误?)
...全文
218 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
leilei821006 2009-01-18
  • 打赏
  • 举报
回复
MSDN很好很强大。。。。
leilei821006 2009-01-18
  • 打赏
  • 举报
回复
查了下MSDN
this.gridview1.columns[0].headtext="新的列标题"
之所以报错是因为columns中只存储显示声明的列,自动生成的列不会包含在其中。

原文如下
一个列字段,表示 GridView 控件中的一个列。Columns 属性(集合)用来存储呈现在 GridView 控件中的所有显式声明的列字段。您还可以使用 Columns 集合以编程方式管理列字段集合。

注意:
显式声明的列字段可与自动生成的列字段结合使用。两者同时使用时,先呈现显式声明的列字段,再呈现自动生成的列字段。自动生成的列字段不会添加到 Columns 集合中。

燕飞7 2009-01-18
  • 打赏
  • 举报
回复
关键是我前后都试过了,提示的错误一样的.你们可以简单做个程序测试下.
最后一只恐龙 2009-01-18
  • 打赏
  • 举报
回复
修改标题那句放到DataBind()之后才可以,之前还没有数据,也没有列。
燕飞7 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 cuike519 的回复:]
你确定能查出来数据么?
[/Quote]
确定,我测试能出来的.
cuike519 2009-01-18
  • 打赏
  • 举报
回复
你确定能查出来数据么?
peng_weida 2009-01-18
  • 打赏
  • 举报
回复
UP
walkghost 2009-01-18
  • 打赏
  • 举报
回复
1.:
gridview节点的traget属性设置成iframe的id不行么?
燕飞7 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 niuniuhuang 的回复:]
引用 10 楼 yangxuefei7 的回复:
To leilei821006
你的代码测试过了?用this.gridview1.columns[0].headtext="新的列标题" 能修改列标题?

GridView1.HeaderRow.Cells[0].Text = "123";这个我在页面上本来就能修改列的标题

this.gridview1.columns[0].headtext="新的列标题"
这个要在绑定之前才可以
[/Quote]
在绑定之后修改也可以的
niuniuhuang 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yangxuefei7 的回复:]
To leilei821006
你的代码测试过了?用this.gridview1.columns[0].headtext="新的列标题" 能修改列标题?

GridView1.HeaderRow.Cells[0].Text = "123";这个我在页面上本来就能修改列的标题
[/Quote]
this.gridview1.columns[0].headtext="新的列标题"
这个要在绑定之前才可以
XJQ_1 2009-01-17
  • 打赏
  • 举报
回复
CreateChildNode(rootNode, "通知", "通知", "" + UrlGxyWebRoot + "right_sqwz_hch.aspx?gxy2id=" + Session_UserID + "", false, "Default_main");
skeljy 2009-01-17
  • 打赏
  • 举报
回复
mark
燕飞7 2009-01-17
  • 打赏
  • 举报
回复
To leilei821006
你的代码测试过了?用this.gridview1.columns[0].headtext="新的列标题" 能修改列标题?

GridView1.HeaderRow.Cells[0].Text = "123";这个我在页面上本来就能修改列的标题
walkghost 2009-01-17
  • 打赏
  • 举报
回复
帮顶。
leilei821006 2009-01-17
  • 打赏
  • 举报
回复
测试了下,又AutoGenerateColumns="False" 时,你上面的代码报错。去掉就好了
leilei821006 2009-01-17
  • 打赏
  • 举报
回复
改为

将页面的AutoGenerateColumns="False" 删掉

GridView1.HeaderRow.Cells[0].Text = "123";
燕飞7 2009-01-17
  • 打赏
  • 举报
回复
数据肯定有的,我把this.gridview1.columns[0].headtext="新的列标题"去掉
无错误,能显示出数据来.显示出来的数据是一行,两列

string id = "12";
SqlConnection conn = new SqlConnection("server=localhost;database=QQ;uid=sa;pwd=");
SqlCommand cmd = new SqlCommand("pro_feifei", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@sdid", id);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);

this.GridView1.DataKeyNames = new string[] { "sdid" };
this.GridView1.DataSource = ds.Tables[0].DefaultView;

this.GridView1.Columns[0].HeaderText = "aaaaaaa";
//this.GridView1.Columns[1].HeaderText = "aaaa";
this.GridView1.DataBind();
//this.GridView1.HeaderRow.Cells[0].Text = "bbbbb";
//this.GridView1.Columns[0].HeaderText = "新的列标题";

代码有点乱,测试用的...
liuyeede 2009-01-17
  • 打赏
  • 举报
回复
你所应用的列中没有数据。
leilei821006 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangxuefei7 的回复:]
引用 2 楼 huwei2003 的回复:
this.gridview1.headtext="新的列标题"
提示出错:索引超出范围,必须为非负值并小于集合大小----(我想问的是,为什么会出现这个错误?)
columns[0]这个有问题

详细说下!!

第二个问题,我是在page_load事件中,在gridview数据绑定之前和之后都试了下,错误一样.
[/Quote]

贴出你的代码。
又可能没有数据造成的
燕飞7 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huwei2003 的回复:]
this.gridview1.headtext="新的列标题"
提示出错:索引超出范围,必须为非负值并小于集合大小----(我想问的是,为什么会出现这个错误?)
columns[0]这个有问题
[/Quote]
详细说下!!

第二个问题,我是在page_load事件中,在gridview数据绑定之前和之后都试了下,错误一样.
加载更多回复(2)

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧