首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

datagridview 合并单元格有关问题

2013-07-01 
datagridview 合并单元格问题在这里看了些资料,http://www.cnblogs.com/peterzb/archive/2009/05/29/14918

datagridview 合并单元格问题
在这里看了些资料,
http://www.cnblogs.com/peterzb/archive/2009/05/29/1491891.html
使用rowmergeview做单元格合并和二维表头,
datagridview 合并单元格有关问题
前两列都可以,第三列数字列却合并不了,试了好久,有没有谁用过这个控件?指条明路啊!
下面是代码


        private void dgvColumnsBindC()
        {
            this.rmvItem.EnableHeadersVisualStyles = false;
            this.rmvItem.AutoGenerateColumns = false;
            this.rmvItem.Columns.Clear();//列头清空下

            Dictionary<string, string> dataText = new Dictionary<string, string>();
            dataText.Add("ItemName", "考核类型");
            dataText.Add("IName", "考核项目");
            dataText.Add("Weights", "权重");
            dataText.Add("Description", "考核明细");
            dataText.Add("Scores", "分值");

            foreach (KeyValuePair<string, string> kvp in dataText)
            {
                DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();
                dgvc.DataPropertyName = kvp.Key;
                dgvc.HeaderText = kvp.Value;
                dgvc.Name = kvp.Key;
                dgvc.ReadOnly = true;
                if (kvp.Value == "权重" || kvp.Value == "分值") dgvc.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
                if (kvp.Value == "考核类型" || kvp.Value == "考核项目") dgvc.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
                if (kvp.Value == "考核明细") dgvc.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
                dgvc.HeaderCell.Style.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;//居中
                dgvc.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                if (kvp.Value == "权重" || kvp.Value == "分值") dgvc.Width = 80;
                if (kvp.Value == "考核类型" || kvp.Value == "考核项目") dgvc.Width = 150;


                if (kvp.Value == "考核明细" ) dgvc.Width = 430;

                this.rmvItem.Columns.Add(dgvc);
            }

            this.rmvItem.MergeColumnNames.Add("ItemName");
            this.rmvItem.MergeColumnNames.Add("IName");
            this.rmvItem.MergeColumnNames.Add("Weights");
        }

rowmergeview 合并单元格 无效
[解决办法]
你的数字列是浮点型吧,浮点型很多都不能精确表示,这样你在判断单元格值是否相同时,就会出现问题,你可以对它进行格式化,对格式化后的内容进行判断

热点排行