Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在每5行数据之后添加一个div?_Asp.net_Vb.net - Fatal编程技术网

Asp.net 如何在每5行数据之后添加一个div?

Asp.net 如何在每5行数据之后添加一个div?,asp.net,vb.net,Asp.net,Vb.net,我试图在Listview中的一组5行数据之后添加div 我想到了使用Mod 5=0,但我意识到如果总行数不能除以5,那么最后一行就会丢失 例如,我有11行数据。 “Div”将添加在5和10之后 我还需要在11后面加上“Div”。(div将显示每个组的详细信息) 像这样的 1 | 2 | 3 | 4 | 5 第一组 6 | 7 | 8 | 9 | 10 第二组 十一,| Div3(缺失) 这是我到目前为止的内联代码 <%# IIf((Container.DisplayIndex + 6)

我试图在Listview中的一组5行数据之后添加div

我想到了使用Mod 5=0,但我意识到如果总行数不能除以5,那么最后一行就会丢失

例如,我有11行数据。 “Div”将添加在5和10之后

我还需要在11后面加上“Div”。(div将显示每个组的详细信息)

像这样的

1 | 2 | 3 | 4 | 5

第一组

6 | 7 | 8 | 9 | 10

第二组

十一,|

Div3(缺失)

这是我到目前为止的内联代码

 <%# IIf((Container.DisplayIndex + 6) Mod 5 = 0, "<div id='temp" + Math.Floor((Container.DisplayIndex + 6) / 5).ToString + "' style='display:none'></div>", "")%>

当总数不能除以5时,如何添加最后一个div


我必须以某种方式获得总的显示索引…

您可以将其与ListView.Items.Count属性进行比较

这应该起作用:

Dim addDiv = (Container.DisplayIndex Mod 5 = 0) OrElse _
             (Container.DisplayIndex + 1 = ListView1.Items.Count)
如果使用分页,则应使用而不是

编辑:(根据您最后的评论)

如果需要显示总记录计数,则必须将数据转换为正确的类型(f.e.数据表)

或者在一行中:

DirectCast(ListView1.DataSource, DataTable).Rows.Count
但这只适用于数据绑定,而不适用于每次回发,因为数据源将在页面生命周期结束时进行处理。

使用“+6”看起来像是在猜测模函数的工作原理:)

试试这个:

因此,第一个(索引+6)%5==0与索引%5==4相同

第二层((索引+6)/5)的结果是2,当索引=4时,这不是您想要的。 使用1+下限(索引/5)将得到正确的结果——如果希望索引从0开始,甚至可以删除“1+”


(顺便说一句,我不知道asp.net,如果有编译器错误,很抱歉)

哇,stackoverflow是我用过的最好的网站。。。超级快死的答案。。。无论如何,我最终还是使用了Container.DisplayIndex+1=ListView1.Items.Count,它成功了!!然而,另一个问题出现了。如果我有31行数据呢?该页面仅显示20个数据,因此显示索引和总数据在第2页中不匹配。。。不管怎么说,你的回答太棒了!我又遇到了一个我没想到的问题。@shinya:很抱歉回答得太晚,我在睡觉;)根据你的评论编辑了我的答案。我不得不再次回到这个问题。因此,我使用了DataItemIndex,但我还需要知道总行数。ListView1.Items.Count始终是页面大小(在我的示例中为20)。如何使用内联代码引用TotalRowCount?4%5=4??4除以5的余数不是4。它是?是,这是第一次使用模块。:-)是的,它是:)当你想到模的时候,想想用秒计算一分钟。e、 g.61%60=1,但也有1%60=1,当然还有121%60=1.p.s。您可以在wolfram alpha中进一步使用此功能:
DirectCast(ListView1.DataSource, DataTable).Rows.Count