datagridview同列不同行动态嵌套不同类型控件
来源:互联网 发布:淘宝宝贝换主图有影响 编辑:程序博客网 时间:2024/05/01 09:39
当单击属性值列单元格时,会根据数据库中的标志位来判断显示textbox,还是combobox,或者其他控件。
当嵌套控件的值发生改变时,将值传给所在单元格。效果图如下:
实现过程如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
DataGridViewCell dgvc = this.dataGridView1.CurrentCell;
RnDevObject obj = devTreeView2._SelectedDevObject;
if (dgvc != null && dgvc.OwningColumn.Name == "属性值")
{
//为0则显示textbox,1显示combobox
if (数据库标志位==0)
{
dataGridView1.Controls.Add(textBox1);
Rectangle R = dataGridView1.GetCellDisplayRectangle(dgvc.ColumnIndex, dgvc.RowIndex, false);
if (dgvc.Value != null)
{
textBox1.Text = dgvc.Value.ToString();
}
textBox1.Size = R.Size;
textBox1.Left = R.Left;
textBox1.Top = R.Top;
textBox1.Visible = true;
comboBox1.Visible = false;
}
else if (数据库标志位== 1)
{
dataGridView1.Controls.Add(comboBox1);
绑定combobox;
Rectangle R = dataGridView1.GetCellDisplayRectangle(dgvc.ColumnIndex, dgvc.RowIndex, false);
if (dgvc.Value != null)
{
comboBox1.Text = dgvc.Value.ToString();
}
comboBox1.Size = R.Size;
comboBox1.Left = R.Left;
comboBox1.Top = R.Top;
comboBox1.Visible = true;
textBox1.Visible = false;
}
}
else
{
textBox1.Visible = false;
comboBox1.Visible = false;
}
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(comboBox1.SelectedText!=string.Empty)
dataGridView1.CurrentCell.Value = comboBox1.Text;
}
private void comboBox1_TextChanged(object sender, EventArgs e)
{
if(comboBox1.SelectedText!=string.Empty)
dataGridView1.CurrentCell.Value = comboBox1.Text;
private void textBox1_TextChanged(object sender, EventArgs e)
{
dataGridView1.CurrentCell.Value = textBox1.Text.ToString();
}
- datagridview同列不同行动态嵌套不同类型控件
- c#——Winform DatagridView不同行不同控件显示
- 矩阵同列同行复制原理
- 魔法盒—同行同列加法
- JTable celleditor可以支持同一列不同行的cell里面动态的组件
- DataGridView按回车换列-同行下一单元格
- DataGridView控件的列选中
- DataGridView 控件中的列类型
- 动态绑定DataGridView列类型
- c# datagridview动态修改列
- python输出不换行(同一行输出不同类型数据)
- DataGridView 不显示列中的某一列
- 拜访 动态规划DP, 从起点开始循环,注意同行同列的边界条件,同时注意判断-1障碍物的情况
- 设置DataGridView 显示自己添加编辑的列名,不动态显示数据库本身的列名
- 设置DataGridView 显示自己添加编辑的列名,不动态显示数据库本身的列名
- 计算列中如何引用不同行的数据
- POJ 1321棋盘不同行不同列问题 dfs
- DataGridView不产生多余的列
- VC6.0中编译和使用OpenSSL的过程
- 谷歌音乐大牌私房歌
- wince热启动
- SQL Server日期计算
- 《银光志—Silverlight 3.0技术详解与最佳实践》创国内最畅销Silverlight技术书籍。
- datagridview同列不同行动态嵌套不同类型控件
- 负和、零和与正和(博弈论的诡计)
- typeid
- String.Format格式说明
- u-boot源码分析 --- 启动第二阶段 ,基于2410 启动代码 分析
- 关于rsync命令
- Jstat使用简介
- U-BOOT环境变量实现 --转帖
- LR做关联