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.在弹出的对话框中,设置字体.背景颜色,即可 ...
随机推荐
- sql性能优化浅谈
sql性能优化总结: 最近随着数据越来越多,数据库性能问题暴露的越来越严重.几百万,上千万,甚至过亿的数据处理速度会非常的慢. 下面对工作中遇到的问题做下总结,希望以后能对日后的工作有所帮助. 不同的 ...
- 关于利用glassfish部署Java EE的firstcup-war时报错
在利用maven+glassfish打包部署Java EE的firstcup-war时报错 1.在利用glassfish部署firstcup-war.war文件时提示如下错误信息: 根据上面的错误提示 ...
- Louis的「每周语文」
说明:此专栏为Louis收录的经典语录及书影音标记,每周一更新. 成长的本质是变得复杂.当你的主观世界遇到客观世界,之间的那条沟,你掉进去,叫挫折,爬出来,叫成长. -- 语出罗振宇在奇葩说第四季的结 ...
- HttpClientFactory的套路,你知多少?
背景 ASP.NET Core 在 2.1 之后推出了具有弹性 HTTP 请求能力的 HttpClient 工厂类 HttpClientFactory. 替换的初衷还是简单摆一下: ① using(v ...
- 分布式系统一致性问题与Raft算法(下)
上一篇讲述了什么是分布式一致性问题,以及它难在哪里,liveness和satefy问题,和FLP impossibility定理.有兴趣的童鞋可以看看分布式系统一致性问题与Raft算法(上). 这一节 ...
- 用canvas实现简单的下雪效果
首先新建一个html文件,将body的背景设置为天空的那种深蓝色,并创建一个canvas,canvas的操作逻辑都放在snow.js中: <!DOCTYPE html> <head& ...
- Serializable详解(1):代码验证Java序列化与反序列化
说明:本文为Serializable详解(1),最后两段内容在翻译上出现歧义(暂时未翻译),将在后续的Serializable(2)文中补充. 介绍:本文根据JDK英文文档翻译而成,本译文并非完全按照 ...
- 负margin在页面布局中的应用
关于负margin的原理建议大家看看这篇文章:http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812 一. 左右列固定, ...
- 日常破解--XCTF easy_apk
一.题目来源 来源:XCTF社区安卓题目easy_apk 二.破解思路 1.首先运行一下给的apk,发现就一个输入框和一个按钮,随便点击一下,发现弹出Toast验证失败.如下图所示: ...
- wentiqingdan
1. Python不用在行尾加分号,也不要用分号将两条命令放在同一行,但加上分号也能执行,不像C/C++分号是必须加的,缺了就会出错. 2. C属于编译型语言,Python属解型语言 编译型的优点是& ...