name department duty email ProView
wkk 開發部 程序員 [email protected] 預覽
wkk 資訊課 技術員 [email protected] 預覽
wkk 總經理室 稽核組員 [email protected] 預覽
wnj 總經理室 稽核組員 [email protected] 預覽
wnj 總務課 車輛管理員 [email protected] 預覽
我想要得到的效果 開發部 程序員
wkk 資訊課 技術員 [email protected] 預覽
總經理室 稽核組員
wnj 總經理室 稽核組員
總務課 車輛管理員 [email protected] 預覽這里我只是隨便寫了幾列,因為列數太多,所以希望大家能夠提供動態的合并單元格代碼
而且預覽列不是綁定列,而是模板列,請大家幫我,就是把相同的值的列合并,但是有個前提
就是以name為標識
wkk 開發部 程序員 [email protected] 預覽
wkk 資訊課 技術員 [email protected] 預覽
wkk 總經理室 稽核組員 [email protected] 預覽
wnj 總經理室 稽核組員 [email protected] 預覽
wnj 總務課 車輛管理員 [email protected] 預覽
我想要得到的效果 開發部 程序員
wkk 資訊課 技術員 [email protected] 預覽
總經理室 稽核組員
wnj 總經理室 稽核組員
總務課 車輛管理員 [email protected] 預覽這里我只是隨便寫了幾列,因為列數太多,所以希望大家能夠提供動態的合并單元格代碼
而且預覽列不是綁定列,而是模板列,請大家幫我,就是把相同的值的列合并,但是有個前提
就是以name為標識
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
if (e.Item.ItemIndex == 0)
{
this.mDate = e.Item.Cells[0].Text;
this.mDateRows = 2;
this.mDateIndex = 0;
}
else
{
if (e.Item.Cells[0].Text == this.mDate)
{
this.Dg_view.Items[this.mDateIndex].Cells[0].RowSpan = mDateRows;
this.mDateRows += 1;
e.Item.Cells[0].Visible = false; }
else
{
this.mDate = e.Item.Cells[0].Text;
this.mDateRows = 2;
this.mDateIndex = e.Item.ItemIndex;
}
}
} }自己根据情况改一下把
http://blog.csdn.net/ojekleen/archive/2007/11/09/1876068.aspx
wkk 資訊課 技術員 [email protected] 預覽
總經理室 稽核組員
wnj 總經理室 稽核組員
總務課 車輛管理員 [email protected] 預覽 wkk是显示在第二个,wnj显示第个??
drop table tb
go
create table tb(name varchar(50),department varchar(50),duty varchar(50),email varchar(50),proview varchar(50))
insert into tb select 'wkk','開發部','程序員','[email protected]','預覽'
insert into tb select 'wkk','資訊課','技術員','[email protected]','預覽'
insert into tb select 'wkk','總經理室','稽核組員','[email protected]','預覽'
insert into tb select 'wnj','總經理室','稽核組員','[email protected]','預覽'
insert into tb select 'wnj','總務課','車輛管理員','[email protected]','預覽'select case when row_number() over(partition by name order by orderid)=1 then name else '' end as name,
department, duty,
case when row_number() over(partition by name order by orderid)=1 then email else '' end as email,
case when row_number() over(partition by name order by orderid)=1 then proview else '' end as proview
from (
select row_number() over(order by name) as orderid,* from tb)tname department duty email proview
wkk 開發部 程序員 [email protected] 預覽
資訊課 技術員
總經理室 稽核組員
wnj 總經理室 稽核組員 [email protected] 預覽
總務課 車輛管理員
wkk 開發部 程序員 [email protected] 預覽
資訊課 技術員
總經理室 稽核組員
wnj 總經理室 稽核組員 [email protected] 預覽
總務課 車輛管理員