dataGridView 如何隐藏选中列

zhengyingcan 2016-03-22 08:35:30
我想 隐藏 dataGridView 选中列 ,用以下代码
if (dataGridView1.SelectedColumns != null)
{
foreach (DataGridViewColumn dgvcl in dataGridView1.SelectedColumns)
{
dgvcl.Visible = false;
}
}
但是并没有什么用, 虽然代码 没有报错。 请大师们指点,谢谢。
...全文
236 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2016-03-24
  • 打赏
  • 举报
回复
事件是在哪触发的,代码贴上来
zhengyingcan 2016-03-24
  • 打赏
  • 举报
回复
if (dataGridView1.SelectedCells != null) { foreach (DataGridViewCell dgvc in dataGridView1.SelectedCells) { int i = dgvc.ColumnIndex; dataGridView1.Columns[i].Visible = false; } } 代码改成以上,解决了
zhengyingcan 2016-03-24
  • 打赏
  • 举报
回复
引用 10 楼 Sa_Oni 的回复:
我感觉是那个时候焦点已经到你按钮上了,也就是当前选中的东西是你的按钮,而不是datagridview了。 你要不先在datagridview事件里把选中的几列记录一下,然后再在按钮那里执行隐藏。
让用户来选择隐藏的列,不是固定的
zhengyingcan 2016-03-24
  • 打赏
  • 举报
回复
引用 9 楼 FoxDave 的回复:
事件是在哪触发的,代码贴上来
我改成先选中好几列,然后用contextMenuStrip控件, 右键 执行隐藏,同样显示选中的列的数量是0
今天我不开心 2016-03-24
  • 打赏
  • 举报
回复
我感觉是那个时候焦点已经到你按钮上了,也就是当前选中的东西是你的按钮,而不是datagridview了。 你要不先在datagridview事件里把选中的几列记录一下,然后再在按钮那里执行隐藏。
zhengyingcan 2016-03-23
  • 打赏
  • 举报
回复
引用 1 楼 FoxDave 的回复:
在哪个事件中写的?
不是事件,是按钮,当用户在控件上 鼠标选中一块区域,然后点这个按钮, 我打断点,选中的列为 0,可是明明有选中的。
大鱼> 2016-03-23
  • 打赏
  • 举报
回复
应该没问题啊,我回去给你看看。
bdmh 2016-03-23
  • 打赏
  • 举报
回复
首先你先确认这段代码有没有执行,打个断点,然后看看SelectedColumns有没有数据
Justin-Liu 2016-03-23
  • 打赏
  • 举报
回复
在哪个事件中写的?
zhengyingcan 2016-03-23
  • 打赏
  • 举报
回复
private void 隐藏列ToolStripMenuItem_Click(object sender, EventArgs e) { if (dataGridView1.SelectedColumns != null) { MessageBox.Show(dataGridView1.SelectedColumns.Count.ToString()); foreach (DataGridViewColumn dgvcl in dataGridView1.SelectedColumns) { dgvcl.Visible = false; } } } 我左键选中,右键隐藏,也是跳出来,说选中列 数量为 0
zhengyingcan 2016-03-23
  • 打赏
  • 举报
回复
引用 5 楼 FoxDave 的回复:
你直接点选整个一列看看后台取到的还是0不
点一列,然后再去点按钮,还是显示选中0
FTD_Fred 2016-03-23
  • 打赏
  • 举报
回复
引用 4 楼 zhengyingcan 的回复:
[quote=引用 1 楼 FoxDave 的回复:] 在哪个事件中写的?
不是事件,是按钮,当用户在控件上 鼠标选中一块区域,然后点这个按钮, 我打断点,选中的列为 0,可是明明有选中的。[/quote] 你点按钮的时候,已经没有选中列了吧……你选中的是按钮了
Justin-Liu 2016-03-23
  • 打赏
  • 举报
回复
你直接点选整个一列看看后台取到的还是0不

111,097

社区成员

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

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

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