15 个解决方案
#1
DataGridView1.Columns["列"].Visible=false;
#2
不能隐藏吧
不过可以让它只读
dataGridView1.Rows[0].Cells["列1"].ReadOnly = true;
不过可以让它只读
dataGridView1.Rows[0].Cells["列1"].ReadOnly = true;
#3
请看清题目,不是整列的隐藏 是隐藏列中特定的几个单元格
WINFORM应该是不支持这功能的 现在寻求的是有没有方法可以
实现这样的效果
#4
我知道不能隐藏 只读好做 就没有办法让它不显示么
#5
不要沉啊··求技术达人+思想家——!!
#6
多少钱吧
#8
这样可以:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if(e.ColumnIndex==1 && e.RowIndex!=-1) //控制显示的列
{
bool val =Convert.ToBoolean(e.Value); //控制画checkbox的单元格
if(val)
{
e.Handled = true;
Rectangle rc = e.CellBounds;
ControlPaint.DrawCheckBox(e.Graphics, e.CellBounds, ButtonState.Checked);
}
}
}
#9
注意:把列类型设置为默认的:DataGridViewTextBoxColumn
#10
单纯的 datagridviewcheckboxcolumn 列是没有办法做到隐藏的。
你可以把列和控件分开,用普通的列和 checkbox 组合成 datagridviewcheckboxcolumn 的效果,这样 checkbox 就可以隐藏和显示了。
你可以把列和控件分开,用普通的列和 checkbox 组合成 datagridviewcheckboxcolumn 的效果,这样 checkbox 就可以隐藏和显示了。
#11
这个方法我也想到了 但是如何取得和判断checkbox控件的值呢?比如8楼所讲到的 只是画了一个checkbox在
列中,checkbox能作为对象使用吗?
#12
问题同上~~
#13
楼主,有一个概念你可以没有弄清楚:
所有DataGridViewColumn派生的列如DataGridViewTextBoxColumn,DataGridViewCheckBoxColumn DataGridViewComboBoxColumn等,
它们对应的控件TextBox、CheckBox、ComboBox在平常显示是并不存在,只是在编辑时,也就是EditingControlShowing事件触发后,有底层动态创建了这些控件,提过界面进行编辑!一旦编辑状态解释,这些控件就动态释放了!
你可以在其他事件里验证一下:呵呵DataGridView.EditingControl是不是null值!
所以,你的这个需求,必须自己控制去画这个控件!
所有DataGridViewColumn派生的列如DataGridViewTextBoxColumn,DataGridViewCheckBoxColumn DataGridViewComboBoxColumn等,
它们对应的控件TextBox、CheckBox、ComboBox在平常显示是并不存在,只是在编辑时,也就是EditingControlShowing事件触发后,有底层动态创建了这些控件,提过界面进行编辑!一旦编辑状态解释,这些控件就动态释放了!
你可以在其他事件里验证一下:呵呵DataGridView.EditingControl是不是null值!
所以,你的这个需求,必须自己控制去画这个控件!
#14
你所说的我能明白 我已经试过自己画控件了 但是效果并不理想 所以我干脆也不打算隐藏了
呵呵 谢谢你的回答! 对我帮助不小 以后遇到这样的问题 不会再去钻牛角尖了 分就给你吧!
#15
“以后遇到这样的问题 不会再去钻牛角尖了 分就给你吧!”
说的好,有时候我们过于在于界面的显示了,其实对用户来说,简单、实用、明了!
说的好,有时候我们过于在于界面的显示了,其实对用户来说,简单、实用、明了!
#1
DataGridView1.Columns["列"].Visible=false;
#2
不能隐藏吧
不过可以让它只读
dataGridView1.Rows[0].Cells["列1"].ReadOnly = true;
不过可以让它只读
dataGridView1.Rows[0].Cells["列1"].ReadOnly = true;
#3
请看清题目,不是整列的隐藏 是隐藏列中特定的几个单元格
WINFORM应该是不支持这功能的 现在寻求的是有没有方法可以
实现这样的效果
#4
我知道不能隐藏 只读好做 就没有办法让它不显示么
#5
不要沉啊··求技术达人+思想家——!!
#6
多少钱吧
#7
你到
猪八戒网去发你的任务,我来接你的问题
#8
这样可以:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if(e.ColumnIndex==1 && e.RowIndex!=-1) //控制显示的列
{
bool val =Convert.ToBoolean(e.Value); //控制画checkbox的单元格
if(val)
{
e.Handled = true;
Rectangle rc = e.CellBounds;
ControlPaint.DrawCheckBox(e.Graphics, e.CellBounds, ButtonState.Checked);
}
}
}
#9
注意:把列类型设置为默认的:DataGridViewTextBoxColumn
#10
单纯的 datagridviewcheckboxcolumn 列是没有办法做到隐藏的。
你可以把列和控件分开,用普通的列和 checkbox 组合成 datagridviewcheckboxcolumn 的效果,这样 checkbox 就可以隐藏和显示了。
你可以把列和控件分开,用普通的列和 checkbox 组合成 datagridviewcheckboxcolumn 的效果,这样 checkbox 就可以隐藏和显示了。
#11
这个方法我也想到了 但是如何取得和判断checkbox控件的值呢?比如8楼所讲到的 只是画了一个checkbox在
列中,checkbox能作为对象使用吗?
#12
问题同上~~
#13
楼主,有一个概念你可以没有弄清楚:
所有DataGridViewColumn派生的列如DataGridViewTextBoxColumn,DataGridViewCheckBoxColumn DataGridViewComboBoxColumn等,
它们对应的控件TextBox、CheckBox、ComboBox在平常显示是并不存在,只是在编辑时,也就是EditingControlShowing事件触发后,有底层动态创建了这些控件,提过界面进行编辑!一旦编辑状态解释,这些控件就动态释放了!
你可以在其他事件里验证一下:呵呵DataGridView.EditingControl是不是null值!
所以,你的这个需求,必须自己控制去画这个控件!
所有DataGridViewColumn派生的列如DataGridViewTextBoxColumn,DataGridViewCheckBoxColumn DataGridViewComboBoxColumn等,
它们对应的控件TextBox、CheckBox、ComboBox在平常显示是并不存在,只是在编辑时,也就是EditingControlShowing事件触发后,有底层动态创建了这些控件,提过界面进行编辑!一旦编辑状态解释,这些控件就动态释放了!
你可以在其他事件里验证一下:呵呵DataGridView.EditingControl是不是null值!
所以,你的这个需求,必须自己控制去画这个控件!
#14
你所说的我能明白 我已经试过自己画控件了 但是效果并不理想 所以我干脆也不打算隐藏了
呵呵 谢谢你的回答! 对我帮助不小 以后遇到这样的问题 不会再去钻牛角尖了 分就给你吧!
#15
“以后遇到这样的问题 不会再去钻牛角尖了 分就给你吧!”
说的好,有时候我们过于在于界面的显示了,其实对用户来说,简单、实用、明了!
说的好,有时候我们过于在于界面的显示了,其实对用户来说,简单、实用、明了!