急!DataGrid自动生成列问题!
我想用DataGrid自动生成一列与库无关的序号列 代码如下:
前台代码:
<Columns>
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<asp:Label ID="Label5" Runat =server><%#getcount()%></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
后台代码:
private int count=0;
private int getcount()
{return ++count;}
问题是:(DataGrid没有分页!)为什末每次一刷新页面,序号的值继续增加?我想每次刷新页面序号都从1开始,这是什末问题?
问题点数:20、回复次数:5Top
1 楼singlepine(小山)回复于 2006-03-10 13:06:48 得分 20
加个模板列
<asp:TemplateColumn HeaderText="序号">
<HeaderStyle Width="10px"></HeaderStyle>
<ItemTemplate>
<%# Container.ItemIndex+1 %>
</ItemTemplate>
</asp:TemplateColumn>
Top
2 楼myjin()回复于 2006-03-10 13:08:47 得分 0
那上面的代码还要吗Top
3 楼chenxi6713(番茄)回复于 2006-03-10 13:09:24 得分 0
把count=0;放到Page_Load里面if ( !IsPostBack )外面。保证每次将count赋为0Top
4 楼myjin()回复于 2006-03-10 13:14:00 得分 0
我就是放在外面的
我也试图每次置0
代码如下:
public int getcount()
{
for(int count=0;count<=DataGrid1.Items.Count;count++)
{
if(count<DataGrid1.Items.Count)
count++;
else
count=0;
return count;
}
} 报错:getcount()并非所有代码路径都返回值Top
5 楼myjin()回复于 2006-03-10 13:21:27 得分 0
番茄的方法不行啊 还是那个问题Top




