C# winfrom Datagridview控件下拉菜单
拖拽一个datagridview放在界面,编辑列把下来菜单那列ColumnType设置成DataGridViewComboBoxColumn
然后在数据一栏的Items可以写下来菜单的内容也可以后台代码写
下面是后台代码实现功能
private void dgUserAuthData_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgUserAuthData.CurrentCell.ColumnIndex == && dgUserAuthData.CurrentCell.ColumnIndex != -)
{
ComboBox combo = e.Control as ComboBox;
combo.SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
} public void combox_Leave(object sender, EventArgs e)
{
ComboBox combox = sender as ComboBox;
//做完处理,须撤销动态事件
combox.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
} private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
ComboBox combo = (ComboBox)sender;
combo.Leave += new EventHandler(combox_Leave);
if (combo.SelectedIndex > -)
{
string selectedItem = combo.Text;//拿到选择后的值 DataGridViewRow dv = dgUserAuthData.CurrentRow;
MessageBoxButtons messButton = MessageBoxButtons.YesNo;
DialogResult dr = MessageBox.Show("确定要" + selectedItem + "该用户吗?", "确定" + selectedItem, messButton);
if (dr == DialogResult.No)
{
return;
}
if (userModel.MangerVoucher == "")
{
MessageBox.Show("您没有管理凭证修改不了");
return;
}
string[] colItems = { "UserPhoneNo", "AccessOperation" };
string[] valueItems = new string[];//添加新增的内容
valueItems[] = userModel.UserPhoneNo; valueItems[] = selectedItem;
//判断有哪些权限,然后只能修改这些权限
SQLiteDbHelper ScabHelper1 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
if (ScabHelper1.dbConnection.State == ConnectionState.Open)
{
IDataReader sqReader = ScabHelper1.UpdateInto("CcUser", colItems, valueItems, "UserPhoneNo", userModel.UserPhoneNo);
}
if (ScabHelper1.dbConnection.State == ConnectionState.Open) ScabHelper1.CloseSqlConnection();
MessageBox.Show("修改成功");
} }
catch (Exception)
{ }
}
C# winfrom Datagridview控件下拉菜单的更多相关文章
- Atitit.ui控件---下拉菜单选择控件的实现select html
Atitit.ui控件---下拉菜单选择控件的实现select html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& m ...
- js+CSS实现模拟华丽的select控件下拉菜单效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- android控件 下拉刷新pulltorefresh
外国人写的下拉刷新控件,我把他下载下来放在网盘,有时候訪问不了github 支持各种控件下拉刷新 ListView.ViewPager.WevView.ExpandableListView.GridV ...
- 组件 layui 常用控件下拉框的应用
下拉框的显示样式: 针对下拉框的绑定等操作时,在最后务必调用一次 form.render(); 1.基本定义: <div class="layui-form-item"> ...
- Android自己定义控件--下拉刷新的实现
我们在使用ListView的时候.非常多情况下须要用到下拉刷新的功能.为了了解下拉刷新的底层实现原理,我採用自己定义ListView控件的方式来实现效果. 实现的基本原理是:自己定义ListView, ...
- wpf中dropdownButton控件下拉居中。。。
设置模版中popup控件的HorizontalOffset属性来控制居中. 还是对popup控件不熟,折腾了一会.
- WinFrom - DataGridView控件右键选中记录并弹出菜单
dataGridView右键菜单并选中该行 程序代码: private void dataGridView1_CellMouseDown(object sender, DataGridViewCell ...
- bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法
今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...
- 415 DOM 查找列表框、下拉菜单控件、对表格元素/表单控件进行增删改操作、创建元素并且复制节点与删除、 对表格操作、通用性和标准的事件监听方法(点击后弹窗效果以及去掉效果)
DOM访问列表框.下拉菜单的常用属性: form.length.options.selectedindex.type 使用options[index]返回具体选项所对应的常用属性:defa ...
随机推荐
- python egg for centos 制作
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令.easy_install是由PEAK(Python Enterprise Applic ...
- PHP中return,exit,die的区别
参考:die(),exit(),return的区别 1.die() 是遇到错误才停止,停止程序运行,输出内容(是程序级别的) 2.exit,exit():是一个函数 是停止程序运行,前者不输出内容:后 ...
- google运维解密
1.运维团队与开发团队的矛盾: 运维追求业务的稳定.开发更关注新功能的添加与版本的快速迭代.但是由于业务更新,有很大可能导致故障.从本质上来说,两部门是矛盾的. deops应该是: 1.对重复性工作有 ...
- Vue学习笔记:Ref的使用
官网上的说明 1.了解Vue中的$refs在Vue中是怎么访问到DOM元素的 <div id="app"> <h1>{{ message }}</h1 ...
- iOS开发笔记18:一些编译、开发调试、打包的细节整理
1.以链库的方式引用第三方库 一些特殊场景可能会要求使用链库的方式使用第三方库,大体设置如下: ①Other Linker Flags里进行设置,格式为-l+库名称 ②Libray Search Pa ...
- BigDecimal 类的使用
BigDecimal 类的使用 1.使用 BigDecimal 的原因 由于需要计算金额,所有需要高精度计算,所有需要使用 BigDecimal 类. BigDecimal能够精确的表示一个小数, ...
- spring AOP为什么配置了没有效果?
spring Aop的配置一定要配置在springmvc配置文件中 springMVC.xml 1 <!-- AOP 注解方式 :定义Aspect --> <!-- ...
- java二叉搜索树原理与实现
计算机里面的数据结构 树 在计算机存储领域应用作用非常大,我之前也多次强调多磁盘的存取速度是目前计算机飞速发展的一大障碍,计算机革命性的的下一次飞跃就是看硬盘有没有质的飞跃,为什么这么说?因为磁盘是永 ...
- HDU 2639(01背包第K大)
http://acm.hdu.edu.cn/showproblem.php?pid=2639 http://blog.csdn.net/lulipeng_cpp/article/details/758 ...
- Linux上把新磁盘扩展到已有分区中(基于LVM)
0.在不重启服务器的前提下找到新加的磁盘 --查看主机总线号 ls /sys/class/scsi_host/ --根据查询结果生成刷新磁盘语句 echo "- - -" > ...