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.在弹出的对话框中,设置字体.背景颜色,即可 ...
随机推荐
- 关于HTTP协议与HTTP状态码的简要介绍
在互联网时代HTTP协议的重要性无需多言,对于技术岗位的同学们来说理解掌握HTTP协议是必须的.本篇博客就从HTTP协议的演进.特性.重要知识点和工作中常见问题的总结等方面进行简单的介绍.理解掌握了这 ...
- python自动化测试技术-Allure
文末有源码 大部分人可能做的是爬虫和web,数据分析方面的工作,今天分享个在自动化测试领域python能做什么样的事情,比如下方,是用python+pytest+allure生成的精美自动化测试报告, ...
- C++ Primer Plus 学习之 类继承
主要介绍了类的继承.虚函数.类继承的动态内存分配问题.继承与友元函数. 公有派生 基类的公有成员和私有成员都会成为派生类的一部分. 基类的私有成员只能通过基类的公有或者保护方法访问.但是,基类指针或引 ...
- C++走向远洋——58(项目二3、动物这样叫、改进版)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 【Art】抗疫路上,温暖相伴
2020年3月. 本应是春暖花开的时节,武汉却是寒冷的,整个中国也是寒冷的. 疫情将人们逼得退无可退,只能待在家里看着电视新闻与手机上一个个数字不断跳动,等待着它们背后前线的无数命悬一线的战士的胜利讯 ...
- Think 框架漏洞利用
下午有点闲,又没有女朋友陪,该干嘛呢??? 对了,做安全的是不需要女朋友的,哈哈哈哈哈 废话不多说,本机搭建环境: 首先nmap扫描一下,哦哈,有点东西. 开的端口有点多,这个时候有点窃喜,开的端口太 ...
- 常用阻塞队列 BlockingQueue 有哪些?
为什么要使用阻塞队列 之前,介绍了一下 ThreadPoolExecutor 的各参数的含义(并发编程之线程池ThreadPoolExecutor),其中有一个 BlockingQueue,它是一个阻 ...
- 7-19 计算有n个字符串中最长的字符串长度 (40 分)
编写程序,用于计算有n(1<n<10)个字符串中最长的字符串的长度.前导空格不要计算在内! 输入格式: 在第一行中输入n,接下的每行输入一个字符串 输出格式: 在一行中输出最长的字符串的长 ...
- @JsonFormat、@DateTimeFormat注解,读取数据库晚一天问题
@DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss&qu ...
- 正式学习MVC 05
1.剃须刀模板razor的使用 1)混编 循环语法 @model List<MVCStudy.Models.Student> @{ ViewBag.Title = "List&q ...