GridView、Repeater合并单元格
GridView、Repeater合并單元格
??? 對(duì)于GridView、Repeater生成的表格一般都比較固定,但是有時(shí)候我們?yōu)榱藞?bào)表統(tǒng)計(jì)方便常把列名一樣的單元格合并以達(dá)到易觀察統(tǒng)計(jì)的效果,這樣我們就需要對(duì)控件做必要的合并操作了,具體操作方法如下:
一、?????????? GridView
前臺(tái)代碼:
?? 一般格式……
后臺(tái)代碼:
for?(int?i?=?gridInfo.Rows.Count?-?1;?i?>?0;?i--){
????if?(gridInfo.Rows[i].RowType?==?DataControlRowType.DataRow)
????{
????????TableCell?tCell?=?gridInfo.Rows[i].Cells[0];
????????TableCell?tCell_previous?=?gridInfo.Rows[i?-?1].Cells[0];
????????tCell.RowSpan?=?(tCell.RowSpan?==?0)???1?:?tCell.RowSpan;
?
????????tCell_previous.RowSpan?=?(tCell_previous.RowSpan?==?0)???1?:?tCell_previous.RowSpan;
?
????????if?(tCell.Text?==?tCell_previous.Text)
????????{
????????????tCell.Visible?=?false;
????????????tCell_previous.RowSpan?+=?tCell.RowSpan;
????????}
????}
}
?
?
二、Repeater
前臺(tái)代碼:
<asp:Repeater?runat="server"?ID="rptInfo">????<HeaderTemplate>
????????<table?cellpadding="0"?cellspacing="0"?border="1"?bordercolor="black"?width="100%"?style="border-collapse:collapse;?border-style:solid;">
????????????<tr>
????????????????<td>科室名稱</td>
????????????????<td>出診醫(yī)生</td>
????????????????<td>職稱</td>
????????????????<td>診病人數(shù)</td>
????????????????<td>掛號(hào)價(jià)格</td>
????????????????<td>掛號(hào)金額</td>
????????????</tr>
????</HeaderTemplate>
????<ItemTemplate>
????????????<tr>
????????????????<td?runat="server"?id="tdDepName"><%#Eval("dep_name")%></td>
????????????????<td><%#Eval("doctor_name")%></td>
????????????????<td><%#Eval("title_name")%></td>
????????????????<td><%#Eval("register_person")%></td>
????????????????<td><%#Eval("price")%></td>
????????????????<td><%#Eval("total_money")%></td>
????????????</tr>
????</ItemTemplate>
????<FooterTemplate>
????????</table>
????</FooterTemplate>
</asp:Repeater>
?
后臺(tái)代碼:
for?(int?i?=?rptInfo.Items.Count?-?1;?i?>?0;?i--){
????HtmlTableCell?oCell_previous?=?rptInfo.Items[i-1].FindControl("tdDepName")?as?HtmlTableCell;
????HtmlTableCell?oCell?=?rptInfo.Items[i].FindControl("tdDepName")?as?HtmlTableCell;
????oCell.RowSpan?=?(oCell.RowSpan?==?-1)???1?:?oCell.RowSpan;
????oCell_previous.RowSpan?=?(oCell_previous.RowSpan?==?-1)???1?:?oCell_previous.RowSpan;
????if?(oCell.InnerText?==?oCell_previous.InnerText)
????{
????????oCell.Visible?=?false;
????????oCell_previous.RowSpan?+=?oCell.RowSpan;
????}
}
?
三、效果
| 科室名稱 | 出診醫(yī)生 | 職稱 | 診病人數(shù) | 掛號(hào)價(jià)格 | 掛號(hào)金額 |
| 保健科 | 孫思邈 | 副高 | 1 | 33.0000 | 33.0000 |
| 華佗 | 正高 | 10 | 30.0000 | 300.0000 | |
| 黃歐 | 正老 | 6 | 18.0000 | 108.0000 | |
| 免費(fèi)號(hào) | 免費(fèi) | 6 | 0.0000 | 0.0000 | |
| 小計(jì) | 副高 | 23 | 0.0000 | 441.0000 | |
| 保健門診 | 超級(jí)用戶 | 正高 | 2 | 10.0000 | 20.0000 |
| 超級(jí)用戶 | 正老 | 2 | 11.0000 | 22.0000 | |
| 超級(jí)用戶 | 副高 | 2 | 21.0000 | 42.0000 | |
| 超級(jí)用戶 | 正高 | 5 | 43.0000 | 215.0000 | |
| 李時(shí)珍 | 正老 | 1 | 1.0000 | 1.0000 |
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html
總結(jié)
以上是生活随笔為你收集整理的GridView、Repeater合并单元格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件路由器
- 下一篇: Lua coroutine 不一样的多线