C# 在DataGridView中,点击单元格调出 TreeView控件 或 ListBox控件
1、调出 TreeView控件 或 ListBox控件
private void deductGrid1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < || e.RowIndex < )
return; if (e.ColumnIndex == || e.ColumnIndex == || e.ColumnIndex == )
{
Rect = deductGrid1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
this.TvEmp.Size = new Size(,);
TvEmp.Location = new Point(Rect.X, Rect.Y);
TvEmp.Visible = true; }
else
{
TvEmp.Visible = false;
}
if (e.ColumnIndex == || e.ColumnIndex == || e.ColumnIndex == )
{
Rect = deductGrid1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
this.cmb.Size = new Size(Rect.Width , * Rect.Height);
cmb.Location = new Point(Rect.X, Rect.Y + Rect.Height);
cmb.Items.Clear();
cmb.Items.Add("是");
cmb.Items.Add("否");
//this.cmb .Size = new Size(Rect .Width ,Rect .Height);
//cmb.Location = new Point(Rect.X, Rect.Y);
cmb.Visible = true; }
else
{
cmb.Visible = false;
}
}
2、处理TreeView控件 选择内容赋值到单元格内
private void TvEmp_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (TvEmp.GetNodeAt(e.X, e.Y) == null) return;
if (TvEmp.GetNodeAt(e.X, e.Y).Level < )
{
dqlib.ShowExclamation("请选择有效的信息!");
return;
}
if (deductGrid1.CurrentCell .ColumnIndex- == )
{
deductGrid1.Rows[deductGrid1.CurrentRow.Index].Cells["EmpOne"].Value = TvEmp.GetNodeAt(e.X, e.Y).Tag;
deductGrid1.CurrentCell.Value = TvEmp.GetNodeAt(e.X, e.Y).Text;
}
if (deductGrid1.CurrentCell.ColumnIndex - == )
{
deductGrid1.Rows[deductGrid1.CurrentRow.Index].Cells["EmpTwo"].Value = TvEmp.GetNodeAt(e.X, e.Y).Tag;
deductGrid1.CurrentCell.Value = TvEmp.GetNodeAt(e.X, e.Y).Text;
}
if (deductGrid1.CurrentCell.ColumnIndex - == )
{
deductGrid1.Rows[deductGrid1.CurrentRow.Index].Cells["EmpThree"].Value = TvEmp.GetNodeAt(e.X, e.Y).Tag;
deductGrid1.CurrentCell.Value = TvEmp.GetNodeAt(e.X, e.Y).Text;
}
//deductGrid1.CurrentCell.Value = TvEmp.GetNodeAt(e.X ,e.Y).Text;
//deductGrid1.CurrentCell.Tag = TvEmp.GetNodeAt(e.X, e.Y).Tag; TvEmp.Visible = false;
}
3、处理ListBox控件
private void cmb_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmb.SelectedItem != null)
{
this.deductGrid1.CurrentCell.Value = this.cmb.SelectedItem.ToString();
this.cmb.Visible = false;
} }
4、处理文本框
private void dgvWeight_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return; if (e.ColumnIndex == 9)
{
Rectangle Rect = dgvWeight.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
this.textBox9.Size = new Size(Rect.Width, Rect.Height); textBox9.Location = new Point(Rect.X, Rect.Y);
textBox9.Visible = true;
textBox9.Focus();
GetRowIndex = e.RowIndex;
}
else
{
textBox9.Visible = false;
}
}
C# 在DataGridView中,点击单元格调出 TreeView控件 或 ListBox控件的更多相关文章
- C# DataGridView中指定的单元格不能编辑
注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. ReadOnly属性的使用 DataGridView内所有的单元格不能编辑 当DataGridView.Re ...
- 【VBA】点击工作簿中的每个单元格,整行整列变色
需求描述 在点击单元格的时候,单元格所在行与列都变色显示 实现方案 打开Excle表格,按住ALT+F11 双击上图中的ThisWorkbook Private Sub Workbook_SheetS ...
- Easyui之datagrid实现点击单元格修改单元格背景颜色
前段时间有个需求中有点击datagrid的单元格实现某种事件,调用datagrid的onclickCell这个方法很容易实现,但是体验不好啊,完全不知道自己刚才点击的是哪个单元格,然后就尝试单击单元格 ...
- c#DataGridView数据绑定示例——格式化单元格的内容(转)
转自http://blog.csdn.net/testcs_dn/article/details/37834063 c#DataGridView数据绑定示例 格式化单元格的内容 在使用DataGrid ...
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...
- 在DBGrid中,单击单元格选择整行,双击又可编辑单元格
在设计过程中,有时候数据较大量,field 较多的时候,只是点击单元格可能会对某个field的数据误操作(如数据错行),为此才会想到这个问题,解决办法如下:点击单元格就改当前行颜色. 首先DBGRID ...
- C# 获取Excel中的合并单元格
C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...
- excel中,一系列单元格中包含某一个字段的单元格数量?
excel中,一系列单元格中包含某一个字段的单元格数量?这个怎么写公式?如:A列单元格A1-A7的内容分别为 A.AB.BC.AC.CD.AD.EA,怎么数这一列中几个单元格的内容包含A字母? 任意单 ...
- Excel 2010 Alt+; (分号) --- “只选定当前选定区域中的可视单元格”
excel怎样把筛选出来的加上颜色? 1.选中筛选结果数据区域: 2.同时按下Alt+; (分号)键,选中筛选出的数据: 3.鼠标右键,设置单元格格式: 4.在弹出的对话框中,设置字体.背景颜色,即可 ...
随机推荐
- LaunchImage的设置及对应图片尺寸
2017-10-12 设置APP的LaunchImage 按照如下步骤设置app的LaunchImage: In Assets.xcassets click + button -> App Ic ...
- linux Init分析(原创)
1.uboot的目标就是启动内核kernel: 2.kernel的目的就是启动应用程序,而第一个应用程序即是Init,构建根文件系统. 从uboot初始化配置后,引导内核的启动,启动函数为:start ...
- 【pic+js+gh】免费高速图床方案
本文用到的工具或网站 PicGo jsdelivr github 速度对比 Github的速度: jsdelivrCDN的速度: 下载PicGo 首先进入PicGo的下载地址 选择最新版本下载,根据自 ...
- 对BFC的深层理解
BFC(Block Formatting Context)块级格式化上下文 注意:BFC首先是块,其次需要具备下面的条件之一才可以(通俗来说,BFC就好比一所985或者211的高校,想要成为985或者 ...
- flask 参数校验
校验参数是否存在,不存在返回400 @app.route('/check',methods=['POST']) def check(): values = request.get_json() req ...
- git工作中常用操作总结
这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...
- 大厂常问iOS面试题--性能优化篇
1.造成tableView卡顿的原因有哪些? 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候 ...
- apache搭建Tomcat集群(Cluster)
搭建集群: apache:特点处理静态资源(html 图片 js等) apache的请求操作,Cluster工具 tomcat:特点处理动态资源 apache+tomcat(apache是web服 ...
- Core + Vue 后台管理基础框架0——开篇
1.背景 最近,打算新开个项目,鉴于团队技术栈,选型.net core + vue,前后端分离.本打算捡现成的轮子的,github上大致逛了逛,总发现这样那样的不太适合心中那些“完美实践”,例如:Ab ...
- js中(event)事件对象
事件对象 • 什么是事件对象? • 就是当你触发了一个事件以后,对该事件的一些描述信息 • 例如: ° 你触发一个点击事件的时候,你点在哪个位置了,坐标是多少 ° 你触发一个键盘事件的时候,你按的是哪 ...