更新时间:2023-02-04 21:12:55
^ ]是一种方法.
还有其他方法,如果您想尝试使用它们搜索 c#datagridview合并标头.
Here[^] is one way to do it.
There are other ways so if you want to try them search for c# datagridview merge headers.
put this script after the <form> tag inside the <body> tag. It really Works.In case it fails ,please let me know.
after implementing it please remember to Tick My Answer, and vote me.
:-D
:-D
<script type="text/javascript" language="javascript">
var myTable = document.getElementById('<%= GridView1.ClientID %>');
if(myTable)
{
var rows = myTable.getElementsByTagName('tr');
var numRows = rows.length;
var numCols= rows[rows.length-1].getElementsByTagName('td').length;
//for (var i = 0; i <(numRows); i++) //to merge columns of all rows
for (var i = 0; i <1; i++) //to merge columns of 1st row only
{
var numColSpan=1;
for (var j = 5; j <8; j++)
{
if (numColSpan<=1)
{
var currentRow = myTable.getElementsByTagName('tr')[i];
var currentCell;
if(i==0)
{
// first row of table rendered by the browser for
// gridview contains header cells therefore we access <th>
currentCell= currentRow.getElementsByTagName('th')[j]; // the 1st column
}
else
{
currentCell= currentRow.getElementsByTagName('td')[j]; // the 1st column
}
var currentCellData = currentCell.childNodes[0].data;
}
if (j<numCols-1)
{
var cellToCheck;
// first row of table rendered by the browser for
// gridview contains header cells therefore we access <th>
if(i==0)
{
// first row of table rendered by the browser for
// gridview contains header cells therefore we access <th>
cellToCheck=currentRow.getElementsByTagName('th')[j+1] // the 1st column
}
else
{
cellToCheck=currentRow.getElementsByTagName('td')[j+1]
}
if (cellToCheck)
{
var nextCell = cellToCheck;
numColSpan += 1;
currentCell.colSpan = numColSpan;
currentCell.align="center";
nextCell.style.display = 'none'; //disappear the next cell
currentCell.style.background="green";
currentCell.innerHTML="Merged";
}
}
}
}
}
</script>