拖拽一个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. (转)mysql主从切换步骤

    原文:http://6226001001.blog.51cto.com/9243584/1723273 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Ha ...

  2. python 四种单例模式

    1 使用__new__方法 Python class Singleton(object): def __new__(cls, *args, **kw): if not hasattr(cls, '_i ...

  3. Java reflect 反射 0 java对象的三个阶段

  4. POJ 3481 Double Queue(set实现)

    Double Queue The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office in Buchares ...

  5. JAVA的静态代理与动态代理比较--转载

    扩展:http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/JAVA的静态代理与动态代理比较 一.概念 代理模式是常用的Java 设计模式,它的特 ...

  6. Betriebssystem

    1.Prozess 1.1 Das Begriff Der Prozess ist eine Entität der Aktivität,umfasst aktuell Aktivitäten,dur ...

  7. Thinking in java(1):对象导论

    纯粹的面向对象程序设计的几个特性:1. 万物皆对象2. 程序是对象的合集,他通过发消息告诉彼此要做什么3. 每个对象都有自己的由其他对象所构成的存储4. 每个对象都有其类型5. 某一特定类型的所有对象 ...

  8. jQueryEasyUI 学习笔记

    jQuery EasyUI是什么? jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开 ...

  9. shell获取时间的相关命令

    Linux shell获取时间和时间间隔(ms级别) 说明:在进行一些性能测试的时候,有时候我们希望能计算一个程序运行的时间,有时候可能会自己写一个shell脚本方便进行一些性能测试的控制(比如希望能 ...

  10. 浅谈FileReader

    FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据. 了解https://develope ...