标题:[求助]GridView逐项添加的问题
只看楼主
ice_beiyu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-7-10
 问题点数:0 回复次数:11 
[求助]GridView逐项添加的问题

总是提示:索引超出范围。必须为非负值并小于集合大小。
参数名: index
下面是部分代码:
for (i = 0; i <=dv.Tables[0].Rows.Count-1; i++)
{

GridView1.Rows[i].Cells[1].Text = dv.Tables[0].Rows[i]["D13"].ToString();
//GridView1.Rows[i].Cells[1].Text = dv.Tables[0].Rows[i]["Tcbh"].ToString();
GridView1.Rows[i].Cells[2].Text = dv.Tables[0].Rows[i]["d16"].ToString();
GridView1.Rows[i].Cells[3].Text = dv.Tables[0].Rows[i]["D14a"].ToString();
GridView1.Rows[i].Cells[4].Text = dv.Tables[0].Rows[i]["sszy"].ToString();
GridView1.Rows[i].Cells[5].Text = dv.Tables[0].Rows[i]["Gd1"].ToString();
GridView1.Rows[i].Cells[6].Text = dv.Tables[0].Rows[i]["D20"].ToString();

设计代码:
asp:GridView ID="GridView1" runat="server" Width="635px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>

<asp:ButtonField Text="详细查询" HeaderText="详细查询" />
<asp:BoundField HeaderText="姓名" ReadOnly="True" DataField="D13" />
<asp:BoundField HeaderText="性别" DataField="D16" />
<asp:BoundField HeaderText="部门" DataField="D14a" />
<asp:BoundField HeaderText="专业" DataField="sszy" />
<asp:BoundField HeaderText="学历" DataField="D30" />
<asp:BoundField HeaderText="工作时间" DataField="D20" />
<asp:BoundField HeaderText="培养主责人" DataField="pyzzr" />
<asp:BoundField HeaderText="培养直接责任人" DataField="pyds" />
<asp:BoundField HeaderText="总体培养目标" DataField="zongtimb" />
<asp:BoundField HeaderText="年度" DataField="pynd" />
<asp:BoundField HeaderText="年度培养目标" DataField="ndmb" />
<asp:BoundField HeaderText="年度考核" DataField="ndjg" />
<asp:BoundField HeaderText="月度" DataField="pyyd" />
<asp:BoundField HeaderText="月度考核" DataField="ydjg" />
<asp:BoundField HeaderText="学习纪录" DataField="ydxuexijl" />
<asp:BoundField HeaderText="月度学习报告" DataField="grxxbg" />
</Columns>

小弟实在想不出来怎么办了,求各位帮帮忙!急!!!急!!!急!!!谢谢了!

搜索更多相关主题的帖子: GridView 逐项 负值 索引 
2007-07-19 17:43
管家
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-19
得分:0 
GridView1.Rows[i].Cells[1].Text = dv.Tables[0].Rows[i]["D13"].ToString();
//GridView1.Rows[i].Cells[1].Text = dv.Tables[0].Rows[i]["Tcbh"].ToString();
GridView1.Rows[i].Cells[2].Text = dv.Tables[0].Rows[i]["d16"].ToString();
GridView1.Rows[i].Cells[3].Text = dv.Tables[0].Rows[i]["D14a"].ToString();
GridView1.Rows[i].Cells[4].Text = dv.Tables[0].Rows[i]["sszy"].ToString();
GridView1.Rows[i].Cells[5].Text = dv.Tables[0].Rows[i]["Gd1"].ToString();
GridView1.Rows[i].Cells[6].Text = dv.Tables[0].Rows[i]["D20"].ToString();

我觉得你可以这么试一下,这里好象不应该是 GridView1.Rows[i].Cells[1].Text 而是 GridView1.Rows[0].Cells[1].Text
2007-07-19 23:34
管家
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-19
得分:0 
嘿嘿 不知道对不对    只是建议哈   
2007-07-19 23:35
jyoseyi
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2007-6-14
得分:0 
不知道你的这段代码循环有什么意义.,就竟是要做什么用,你就直接把DataSet绑定到GridView1不就行了吗

我非英雄,广目无双, 我本坏蛋,无限嚣张!
2007-07-20 09:31
ice_beiyu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-7-10
得分:0 

循环是因为查询出来的不是一条记录,直接绑定也不行,因为有些项不是要显示从数据库查出来的东西。比如说某个位置对应的数据库里的内容如果为空就显示:未制订,但是如果不为空也不是现实数据库里的内容,而是显示:已制订。


我试了,二楼的说的办法也不对!

2007-07-20 09:44
jyoseyi
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2007-6-14
得分:0 

你把SQL语句写好就可以了啊,如果为空你就显示"未制订",不为空"已制订"
比如 select Name,(case a.State when 0 then '启用' when 1 then 启用' end) as State FROM [User]
数据库里State 列的的内容是 0 或者1 ,而显示出的是 启用 或者 启用


我非英雄,广目无双, 我本坏蛋,无限嚣张!
2007-07-20 10:02
jyoseyi
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2007-6-14
得分:0 
select Name,(case State when 0 then '启用' when 1 then 启用' end) as State FROM [User]

我非英雄,广目无双, 我本坏蛋,无限嚣张!
2007-07-20 10:05
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
得分:0 
是的,直接用SQL語句拼湊起來就行。如果實在不行,你就把值寫到DataTable裡,然後再將寫好的DataTable綁定到GridView中,這樣更方便一些吧。

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-07-20 10:47
ice_beiyu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-7-10
得分:0 
小弟刚刚用这个,还希望多给点提示。比如页面设置代码,还有数据绑定,希望详细点。书上写得很多都不实用。谢谢了
2007-07-20 14:00
ice_beiyu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-7-10
得分:0 
还有就是,我所要显示的数据是从三个表中取得的,每一行数据都是
2007-07-20 14:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-156640-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283243 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved