GRIT VIEW删除事件
1.点选表格后找到事件 RowCommand
2.輸入gvGroupUser_RowCommand后双击 ------注分别为:GV属性ID名称—事件名
3. protected void gvGroupUser_RowCommand(object sender, GridViewCommandEventArgs e) ---使用传递到事件处理方法的GridViewCommandEventArgs对象确定引发事件的按钮的命令名 。GridViewCommandEventArgs e对象,与对象参数
{
pnlDevAuth.Visible = true; ------获取或设置一个值,该值指示服务器控件是否作为UI呈现在页面上 (nlDevAuth容器控件名称)
string v_DevGrpID = lblDevGrpID.Text; ------声明v_DevGrpID获取 lblDevGrpID.Text的内容 (v_DevGrpID 局部设备群组ID)
if (e.CommandName == "DelUserInGrp") ------获取命令名称 (CommandName属性。可以让窗体上的多个按钮来处理一个事件,可以标记多个按钮,使代码根据窗体上单击的按钮进行逻辑判断)
{
string uid = e.CommandArgument.ToString(); -------获取命令的参数
string ReturnStatus = string.Empty; -------表示空字符串,此字段为只读 (返回状态)
string ReturnID = string.Empty;
string ReturnMsg = string.Empty;
try
{
Coeno.Card.DevAuths.DelAuthGrpUser(Int32.Parse(uid), txtCurrentEmpID.Text, out ReturnStatus, out ReturnID, out ReturnMsg);
if (ReturnStatus == "1")
{
lblMsg.Text = ReturnMsg;
lblMsg.ForeColor = System.Drawing.Color.Blue;
labMsg.Text = ReturnMsg;
labMsg.ForeColor = System.Drawing.Color.Blue;
}
else
{
lblMsg.Text = ReturnMsg;
lblMsg.ForeColor = System.Drawing.Color.Red;
labMsg.Text = ReturnMsg;
labMsg.ForeColor = System.Drawing.Color.Red;
}
}
catch (Exception ex)
{
lblMsg.Text = "刪除失敗:" + ReturnMsg;
lblMsg.ForeColor = System.Drawing.Color.Red;
labMsg.Text = "刪除失敗:" + ReturnMsg;
labMsg.ForeColor = System.Drawing.Color.Red;
return;
}
}
DataTable dtDevGrpUsers = Coeno.Card.DevAuths.QueryDevGrpUsers(ddlSite.SelectedValue, ddlFactory.SelectedValue, v_DevGrpID, txtEmpIDAdd.Text, "", "1" );
gvGroupUser.DataSource = dtDevGrpUsers;
gvGroupUser.DataBind();
}
///刪除群組用戶(ByUID)
public static void DelAuthGrpUser(int v_UID, string v_CUser, out string v_ReturnStatus, out string v_ReturnID, out string v_ReturnMsg)
{
SqlConnection con = new SqlConnection(_connectionString);
SqlCommand comm = new SqlCommand( "Card_DevGrp_AuthDel_Emp" , con);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add( "@UID" , SqlDbType.Int).Value = v_UID;
comm.Parameters.Add( "@CUser" , SqlDbType.NVarChar, 50).Value = v_CUser;
comm.Parameters.Add( "@ReturnStatus" , SqlDbType.NVarChar, 5);
comm.Parameters.Add( "@ReturnID" , SqlDbType.NVarChar, 10);
comm.Parameters.Add( "@ReturnMsg" , SqlDbType.NVarChar, 100);
comm.Parameters[ "@ReturnStatus" ].Direction = ParameterDirection.Output;
comm.Parameters[ "@ReturnID" ].Direction = ParameterDirection.Output;
comm.Parameters[ "@ReturnMsg" ].Direction = ParameterDirection.Output;
try
{
con.Open();
comm.ExecuteNonQuery();
v_ReturnStatus = comm.Parameters[ "@ReturnStatus" ].Value.ToString();
v_ReturnID = comm.Parameters[ "@ReturnID" ].Value.ToString();
v_ReturnMsg = comm.Parameters[ "@ReturnMsg" ].Value.ToString();
}
catch (Exception ex)
{
v_ReturnStatus = "0" ;
v_ReturnID = "999" ;
v_ReturnMsg = "Execute Stored Procedure Failed!!!(" + ex.Message + ")" ;
}
finally
{
con.Close();
}
}
///权限查询
查詢Card_Dev_AuthGrp_User且啟用
public static DataTable QueryDevGrpUsers(string v_Site, string v_FactoryID, string v_AuthGrpID, string v_EmpID, string v_EmpName, string v_Enableflag)
{
v_EmpID = Coeno.Web.SDBC.ToDBC(v_EmpID);
string sql = "SELECT a.UID,a.AuthGrpID,a.EmpID,a.EmpName,b.SiteID,b.FactoryAliasID,b.AuthGrpID,b.AuthGrpCName,c.DeptID,c.DeptName,c.BUID,c.SexID,a.EffectDayID,a.cuser
FROM Card_Dev_AuthGrp_User a,Card_Dev_AuthGrp b,HR_Emp_Now c
WHERE a.AuthGrpID=b.AuthGrpID and a.EmpID=c.EmpID" ;
string sql_where = " AND " ;
if (v_Site != "ALL" )
{
sql = sql + sql_where + "b.SiteID =' " + v_Site + " ' " ;
}
if (v_FactoryID != "ALL" )
{
sql = sql + sql_where + "b.FactoryID =' " + v_FactoryID + " ' " ;
}
if (v_AuthGrpID != "ALL" )
{
sql = sql + sql_where + "a.AuthGrpID =' " + v_AuthGrpID + " ' " ;
}
if (!string.IsNullOrEmpty(v_EmpID))
{
sql = sql + sql_where + "a.EmpID =' " + v_EmpID + " ' " ;
}
if (!string.IsNullOrEmpty(v_EmpName))
{
sql = sql + sql_where + "a.EmpName = N ' " + v_EmpName + " ' " ;
}
if (v_Enableflag != "ALL" )
{
sql = sql + sql_where + " a.EnableFlag=' " + v_Enableflag + " ' " ;
}
sql = sql + " ORDER BY EmpID " ;
SqlConnection con = new SqlConnection(_connectionString);
SqlDataAdapter dad = new SqlDataAdapter(sql, con);
DataSet dst = new DataSet();
try
{
con.Open();
dad.Fill(dst, "QueryDevGrpUsers" );
}
catch (SqlException e)
{
throw new Exception(e.Message);
}
finally
{
con.Close();
}
return dst.Tables[0];
}
<asp:ImageButton ID="ibDel" runat="server" ImageUrl="~/Images/Button/button_delete.gif"
CommandName="DelUserInGrp" CommandArgument='<%# Eval("UID")%>' ToolTip="刪除" OnClientClick="return confirm('確定要刪除該人員權限嗎?');" />
GRIT VIEW删除事件的更多相关文章
- ViewPager和View的事件响应规则
案例背景: 当我们实现viewpager的自动切换界面操作的时候,如果需要增加点击图片viewpager停止自动切换,松开手指viewpager自动切换又继续执行的逻辑,正常思维下实现代码如下所示: ...
- 【jquery】【ztree】节点添加自定义按钮、编辑和删除事件改成自己定义事件
setting添加 edit: { drag: { isCopy: false, isMove: true }, enable: true,//设置是否处于编辑状态 showRemoveBtn: sh ...
- Android事件分发机制二:viewGroup与view对事件的处理
前言 很高兴遇见你~ 在上一篇文章 Android事件分发机制一:事件是如何到达activity的? 中,我们讨论了触摸信息从屏幕产生到发送给具体 的view处理的整体流程,这里先来简单回顾一下: 触 ...
- 简单例子了解View的事件分发
什么是事件分发 我们在写自定义ViewGroup或者自定义View的时候经常要处理用户的点击事件,如果我们的View在最底层,他在很多ViewGroup里面,我们如何让我们的点击事件准确传递到View ...
- Android View 的事件体系
android 系统虽然提供了很多基本的控件,如Button.TextView等,但是很多时候系统提供的view不能满足我们的需求,此时就需要我们根据自己的需求进行自定义控件.这些控件都是继承自Vie ...
- android view :事件
在view绘制完成后,要想在和view交互一定就要使用事件了,这些事件包括触屏,按键,以及轨迹球,说起轨迹球,在黑莓的手机上常见,现在触屏出来之后基本上就没有这个东西了.这些事件从屏幕上产生出来,会进 ...
- 关于实现自定义Dialog和实现Dialog里view的事件监听的两种方法
一.自定义dialog. 二.实现dialog里view的事件监听 1.自定义dialog比较简单.在实例化new的时候,加入样式,布局就行了.或者重写dialog. 2.实现dialog里view的 ...
- Android view 的事件分发机制
1 事件的传递顺序是 Activity -> Window -> 顶层View touch 事件产生后,最先由 activity 的 dispatchTouchEvent 处理 /** * ...
- .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示
xUtils注入和图片显示 一.xUtils注入 引用官方介绍: ViewUtils模块: •android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定: •新的事件绑定方式,使用混淆工 ...
随机推荐
- AI人工智能学习数据集
AI人工智能学习数据集,列表如下. 商务合作,科技咨询,版权转让:向日葵,135—4855__4328,xiexiaokui#qq.com boston_house_prices.csvbreast_ ...
- Tosca :配置环境参数
# 跟Modules TestCases并列 ,右键创建 #再右键创建配置(结构自己安排) #再创建配置参数 #使用配置参数 #引用配置的环境参数
- ubuntu下搭建nfs服务
1. 安装nfs服务端 $ sudo apt install nfs-kernel-server -y 2. 创建目录 $ sudo mkdir -p /mnt/sharefolder 3. 使任何客 ...
- Xamarin图表开发基础教程(1)
Xamarin图表开发基础教程(1) 在Xamarin图表开发中,最常用的框架是OxyPlot和Microcharts.其中,OxyOPlot提供多种多样的图表类型和丰富的图表功能,可以实现各种复杂的 ...
- flutter 中的搜索条实现
import 'package:flutter/material.dart'; import 'package:flutter_app/SearchBarDemo.dart'; void main() ...
- flutter 的Animation简单了解
import 'package:flutter/material.dart'; class AnimationDemo extends StatelessWidget { @override Widg ...
- Netty服务器连接池管理设计思路
应用场景: 在RPC框架中,使用Netty作为高性能的网络通信框架时,每一次服务调用,都需要与Netty服务端建立连接的话,很容易导致Netty服务器资源耗尽.所以,想到连接池技术,将与同一个Nett ...
- Python3基础 bool True为1 False为0
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- javascript取模运算是怎么算的?其实是取余数
问到是否整除,这里记录下取模 比如120分钟是不是整点?120%60 === 0 为整点 javascript取模运算是一个表达式的值除以另一个表达式的值,并返回余数. 取模在js里就是取余数的意思. ...
- Asynchronous Streaming Request Processing in Spring MVC 4.2 + Spring Boot(SpringBoot中处理异步流请求 SpringMvc4.2以上)
With the release of Spring 4.2 version, Three new classes have been introduced to handle Requests As ...