winform怎么动态添加列,不是后天绑定数据那种 winform下 的DataGridView动态添加列大概是下面这个效果 单位 千克{下拉选择} | 吨 升当选择“升”为单位的时候动态在“单位”列后面添加一个新列“密度” 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 始终有这列,平时隐藏,选择“升”为单位的时候显示 *****************************************************************************欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/ 什么意思??动态添加列??简单的办法,绑定之前,先给你的DataTable添加列,然后再绑定。 这样?? private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升") { if (!dataGridView4.Columns.Contains("密度")) dataGridView4.Columns.Add("密度", "密度"); } else { if (dataGridView4.Columns.Contains("密度")) dataGridView4.Columns.Remove("密度"); } } dataGridView1.Columns.Add("列名", "列名显示"); 用显示隐藏比较好,添加删除的话数据会丢。 private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升") { //if (!dataGridView4.Columns.Contains("密度")) // dataGridView4.Columns.Add("密度", "密度"); dataGridView4.Columns["密度"].Visible = true; } else { if (dataGridView4.Columns.Contains("密度")) //dataGridView4.Columns.Remove("密度"); dataGridView4.Columns["密度"].Visible = false; } } private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升") { //if (!dataGridView4.Columns.Contains("密度")) // dataGridView4.Columns.Add("密度", "密度"); dataGridView4.Columns["密度"].Visible = true; } else { if (dataGridView4.Columns.Contains("密度")) //dataGridView4.Columns.Remove("密度"); dataGridView4.Columns["密度"].Visible = false; } } private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if(dataGridView4.CurrentCell !!= null ) { if ( dataGridView4.CurrentCell.Value.ToString() == "升") { //if (!dataGridView4.Columns.Contains("密度")) // dataGridView4.Columns.Add("密度", "密度"); dataGridView4.Columns["密度"].Visible = true; } else { if (dataGridView4.Columns.Contains("密度")) //dataGridView4.Columns.Remove("密度"); dataGridView4.Columns["密度"].Visible = false; } } } 上面是对的不然初始化的时候会报null错误 dataGridView4.CurrentCell=dataGridView4.currentrow[0]; *****************************************************************************欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/ 请问诸位,有datagridview有Columns属性吗? Log4net写日志到DB的好处 控制 图片 大小 比例 winform中,如何做一个软件的试用版? 为何事件中的方法,没有执行完毕就退出了,而且一直在循环呢?(急) 兄弟们看我下面的代码出错在何处!谢谢! 问个关于格子填充数据的问题... 未处理的“System.StackOverflowException”类型的异常,且当前堆栈处于溢出状态,无法计算表达式的值 手动加入iis_user用户并分配所有权限得到的结果和编程做的结果不一样 给予数据缓存通知怎么实现... 如何在程序中移动控件? 关于自定义控件的问题 如何用C#写一个简单的Login窗口
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
简单的办法,绑定之前,先给你的DataTable添加列,然后再绑定。
private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升")
{
if (!dataGridView4.Columns.Contains("密度"))
dataGridView4.Columns.Add("密度", "密度");
}
else
{
if (dataGridView4.Columns.Contains("密度"))
dataGridView4.Columns.Remove("密度");
}
}
private void dataGridView4_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升")
{
//if (!dataGridView4.Columns.Contains("密度"))
// dataGridView4.Columns.Add("密度", "密度");
dataGridView4.Columns["密度"].Visible = true;
}
else
{
if (dataGridView4.Columns.Contains("密度"))
//dataGridView4.Columns.Remove("密度");
dataGridView4.Columns["密度"].Visible = false;
}
}
{
if (dataGridView4.CurrentCell != null && dataGridView4.CurrentCell.Value.ToString() == "升")
{
//if (!dataGridView4.Columns.Contains("密度"))
// dataGridView4.Columns.Add("密度", "密度");
dataGridView4.Columns["密度"].Visible = true;
}
else
{
if (dataGridView4.Columns.Contains("密度"))
//dataGridView4.Columns.Remove("密度");
dataGridView4.Columns["密度"].Visible = false;
}
}
{
if(dataGridView4.CurrentCell !!= null )
{
if ( dataGridView4.CurrentCell.Value.ToString() == "升")
{
//if (!dataGridView4.Columns.Contains("密度"))
// dataGridView4.Columns.Add("密度", "密度");
dataGridView4.Columns["密度"].Visible = true;
}
else
{
if (dataGridView4.Columns.Contains("密度"))
//dataGridView4.Columns.Remove("密度");
dataGridView4.Columns["密度"].Visible = false;
}
}
}
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/