DataGridView窗口底部增加汇总Lable的方法

leeya66 2015-06-18 08:08:32
 int height = this.dataGridView1.Height; 
int scrollbarheight = this.dataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.None) > this.dataGridView1.Width ? 16 : 0;//水平滚动条高
int rowheaderswidth = this.dataGridView1.RowHeadersVisible ? this.dataGridView1.RowHeadersWidth : 0;//行标题宽度
// int rowheaderswidth =40
int length = rowheaderswidth;
Panel panel = new Panel();
panel.Name = this.dataGridView1.Name;
panel.BackColor = Color.Red;
panel.Left = 1;
panel.Top = height - scrollbarheight - 23 - 1;
dataGridView1.Controls.Add(panel);

for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
{
DataGridViewColumn column = this.dataGridView1.Columns[i];
if (column.Visible)
{
Label lblChild = new Label();
lblChild.Name = column.Name ;
lblChild.BackColor = Color.Yellow;
lblChild.AutoSize = true;
lblChild.Left = length + ((int)column.Width / 2) - 10 + 1;
length += column.Width;
// lblChild.Width = column.Width;
lblChild.Top = 3;
panel.Controls.Add(lblChild);
}
}

我这样写代码,不知道问题出在哪里?为什么结果是Label 没显示?只显示红色的panel
...全文
277 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeya66 2015-06-18
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
晕死,你没设置lblChild.Text啊 它显示空字符串,可不啥都不显示吗
Text属性在后面一个方法里面有设置,dataGridView1里添加一行合计行,缺点是要拖到最下面才能看到合计,这样不方便用户
於黾 2015-06-18
  • 打赏
  • 举报
回复
晕死,你没设置lblChild.Text啊 它显示空字符串,可不啥都不显示吗
於黾 2015-06-18
  • 打赏
  • 举报
回复
或者你在dataGridView1里添加一行合计行
於黾 2015-06-18
  • 打赏
  • 举报
回复
dataGridView1.Controls.Add(panel); 为啥要把panel加进dataGridView1里去??不怕跟单元格重叠了? 你不如让它和dataGridView1并列,设置dock属性为top,然后它就永远会在dataGridView1的下面
bdmh 2015-06-18
  • 打赏
  • 举报
回复
先执行panel.Controls.Add,在设置label的位置
於黾 2015-06-18
  • 打赏
  • 举报
回复
引用 5 楼 rrxxjj1234 的回复:
[quote=引用 4 楼 Z65443344 的回复:] 晕死,你没设置lblChild.Text啊 它显示空字符串,可不啥都不显示吗
Text属性在后面一个方法里面有设置,dataGridView1里添加一行合计行,缺点是要拖到最下面才能看到合计,这样不方便用户[/quote] 问题是后面的方法就不能再用lblChild这个变量去赋值了,因为它是个局部变量啊 你后面想修改,就必须修改panel.Controls[i]

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧