GridView、Repeater合并单元格
生活随笔
收集整理的這篇文章主要介紹了
GridView、Repeater合并单元格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GridView、Repeater合并單元格
??? 對于GridView、Repeater生成的表格一般都比較固定,但是有時候我們為了報表統計方便常把列名一樣的單元格合并以達到易觀察統計的效果,這樣我們就需要對控件做必要的合并操作了,具體操作方法如下:
一、?????????? GridView
前臺代碼:
?? 一般格式……
后臺代碼:
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
前臺代碼:
<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>出診醫生</td>
????????????????<td>職稱</td>
????????????????<td>診病人數</td>
????????????????<td>掛號價格</td>
????????????????<td>掛號金額</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>
?
后臺代碼:
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;
????}
}
?
三、效果
| 科室名稱 | 出診醫生 | 職稱 | 診病人數 | 掛號價格 | 掛號金額 |
| 保健科 | 孫思邈 | 副高 | 1 | 33.0000 | 33.0000 |
| 華佗 | 正高 | 10 | 30.0000 | 300.0000 | |
| 黃歐 | 正老 | 6 | 18.0000 | 108.0000 | |
| 免費號 | 免費 | 6 | 0.0000 | 0.0000 | |
| 小計 | 副高 | 23 | 0.0000 | 441.0000 | |
| 保健門診 | 超級用戶 | 正高 | 2 | 10.0000 | 20.0000 |
| 超級用戶 | 正老 | 2 | 11.0000 | 22.0000 | |
| 超級用戶 | 副高 | 2 | 21.0000 | 42.0000 | |
| 超級用戶 | 正高 | 5 | 43.0000 | 215.0000 | |
| 李時珍 | 正老 | 1 | 1.0000 | 1.0000 |
?
轉載于:https://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html
總結
以上是生活随笔為你收集整理的GridView、Repeater合并单元格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件路由器
- 下一篇: Lua coroutine 不一样的多线