合并DataGridView控件的ColumnHeader单元格 [英] Merge ColumnHeader Cells of DataGridView Control

查看:74
本文介绍了合并DataGridView控件的ColumnHeader单元格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,


我想合并DataGridView控件的ColumnHeader单元.

我想画一个矩形,使它从第六列标题到第九列

对此主题的回复

问候

Lakshman CB

Hello,


I Want To Merge ColumnHeader Cells of DataGridView Control.

I would Like Draw a Rectangle in such a way that From Sixth Column Header to 9th Column

kindly Reply Regarding this Topic

Regards

Lakshman C B

推荐答案

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>


这篇关于合并DataGridView控件的ColumnHeader单元格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆