拖拽一个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控件下拉菜单的更多相关文章

  1. Atitit.ui控件---下拉菜单选择控件的实现select html

    Atitit.ui控件---下拉菜单选择控件的实现select   html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& m ...

  2. js+CSS实现模拟华丽的select控件下拉菜单效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. android控件 下拉刷新pulltorefresh

    外国人写的下拉刷新控件,我把他下载下来放在网盘,有时候訪问不了github 支持各种控件下拉刷新 ListView.ViewPager.WevView.ExpandableListView.GridV ...

  4. 组件 layui 常用控件下拉框的应用

    下拉框的显示样式: 针对下拉框的绑定等操作时,在最后务必调用一次 form.render(); 1.基本定义: <div class="layui-form-item"> ...

  5. Android自己定义控件--下拉刷新的实现

    我们在使用ListView的时候.非常多情况下须要用到下拉刷新的功能.为了了解下拉刷新的底层实现原理,我採用自己定义ListView控件的方式来实现效果. 实现的基本原理是:自己定义ListView, ...

  6. wpf中dropdownButton控件下拉居中。。。

    设置模版中popup控件的HorizontalOffset属性来控制居中. 还是对popup控件不熟,折腾了一会.

  7. WinFrom - DataGridView控件右键选中记录并弹出菜单

    dataGridView右键菜单并选中该行 程序代码: private void dataGridView1_CellMouseDown(object sender, DataGridViewCell ...

  8. bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法

    今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...

  9. 415 DOM 查找列表框、下拉菜单控件、对表格元素/表单控件进行增删改操作、创建元素并且复制节点与删除、 对表格操作、通用性和标准的事件监听方法(点击后弹窗效果以及去掉效果)

    DOM访问列表框.下拉菜单的常用属性: form.length.options.selectedindex.type       使用options[index]返回具体选项所对应的常用属性:defa ...

随机推荐

  1. (转)Oracle与DB2在数据库高可用技术上的相同与差异探讨

    原文:http://www.talkwithtrend.com/Article/178339 数据库建设过程中,高可用是每一个企业数据中心数据库建设过程中至关重要的一个关注点,直接关系到业务连续性和稳 ...

  2. $scope作用域与依赖注入

    一.$scope与$rootscope作用域 $scope下的数据作为该控制器下的数据moduel,只有在该控制器下才能够访问:而$rootScope则可以可以再任何有效的地方访问到,这个有效的地方指 ...

  3. 21.Decorator修饰器

    1.类的修饰 2.方法的修饰 3.为什么修饰器不能用于函数? 4.core-decorators.js 5.使用修饰器实现自动发布事件 6.Mixin 7.Trait 8.Babel转码器的支持

  4. JavaScript数据结构-4.栈操作

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Oracle 12c 创建用户

    本文转载自 http://blog.itpub.net/29047826/viewspace-1453577/,侵删.   12c推出了可插拔库,管理用户也分为两种:本地用户和公用用户.本地用户是指在 ...

  6. 对Tensorflow中tensor的理解

    Tensor即张量,在tensorflow中所有的数据都通过张量流来传输,在看代码的时候,对张量的概念很不解,很容易和矩阵弄混,今天晚上查了点资料,并深入了解了一下,简单总结一下什么是张量的阶,以及张 ...

  7. POJ 1577 Falling Leaves 二叉搜索树

    HDU 3791 Falling Leaves 二叉搜索树  Figure 1Figure 1 shows a graphical representation of a binary tree of ...

  8. 微电子中的die-to-die和within-die

    工艺制造中lot指按某种方式生成的硅柱状体,将这些lot切成薄片就称为wafer,wafer是进行集成电路制造的基板,一般以直径来区分,8寸.10寸,12寸等,或者以毫米来区分.直径越大材料的利用率越 ...

  9. SQL常用性能相关脚本

    --调试语句性能前记得清空执行计划 每次执行需优化SQL前,带上清除缓存的设置SQL. 平常在进行SQL Server性能优化时,为了确保真实还原性能问题,我们需要关闭SQL Server自身的执行计 ...

  10. 常用的几种OCR方法/组件小结(C#)

    数字.英文识别比较容易.中文识别主要存在两个问题:其一,有可能误识别.其二.需要随带几十兆的识别库(甚至更大).   适合C#编程引用的中文ocr技术,查到以下两种:   1.使用开源的Tessera ...