GridView的 OnRowDataBound 事件用法
<asp:GridView ID="RptUsers" runat="server" AutoGenerateColumns="False" Width="99%"
CssClass="data_table" AllowPaging="false" OnPageIndexChanging="RptUsers_PageIndexChanging"
OnRowCommand="RptUsers_RowCommand" onrowdatabound="RptUsers_RowDataBound" >
<AlternatingRowStyle BackColor="#fafafa" />
<EmptyDataRowStyle HorizontalAlign="Left" />
<PagerStyle HorizontalAlign="left" />
<RowStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
<Columns>
<asp:TemplateField HeaderText="选择" Visible="false" HeaderStyle-Wrap="false">
<HeaderTemplate>
<input id="cbSelAll" onclick="SelectedAllChk(this.checked);" type="checkbox">
</HeaderTemplate>
<ItemTemplate>
<%#GetInputTagHtml(Convert.ToInt32(Eval("Id")))%>
<asp:HiddenField ID="HFId" runat="server" Value='<%# Eval("Id") %>' />
</ItemTemplate>
<ItemStyle Wrap="False" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="序号" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# (this.AspNetPager1.CurrentPageIndex - ) * this.AspNetPager1.PageSize + Container.DataItemIndex + %>
</ItemTemplate>
<ItemStyle Wrap="False" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="投票名称" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#Eval("Name")%>
</ItemTemplate>
<ItemStyle Wrap="true" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="主办单位" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# Eval("Organizer")%>
</ItemTemplate>
<ItemStyle Wrap="true" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="创建者" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#GetUserName(Convert.ToInt32(Eval("Creater")))%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="开始时间" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# GetDateStr(Eval("StartTime").ToString()) %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="结束时间" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# GetDateStr(Eval("EndTime").ToString())%>
</ItemTemplate>
<ItemStyle Wrap="False" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="创建时间" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#Convert.ToDateTime(Eval("CreateTime").ToString()).ToString("yyyy-MM-dd")%>
</ItemTemplate>
<ItemStyle Wrap="False" HorizontalAlign="left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="投票类型" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#GetActiveType(Eval("ActiveType").ToString())%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="投票IP限制" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#GetIPLimitType(Eval("IPLimitType").ToString())%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="游客投票" HeaderStyle-Wrap="false">
<ItemTemplate>
<%#GetUserLimitType(Eval("UserLimitType").ToString())%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="开启状态" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# GetStateStr(Eval("States").ToString())%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="操作" HeaderStyle-Wrap="false">
<ItemTemplate>
<%# GetOperateStr(Eval("ActiveType").ToString(), Eval("Id").ToString())%>
<a href='/admin/ActivityInfo/ActivityInfoAdd.aspx?action=edit&id=<%#Eval("Id") %>'>编辑</a>
<asp:LinkButton ID="lkbtnOpen" CommandName="lkbtnOpen" runat="server" CommandArgument='<%# Eval("Id") %>'>开启</asp:LinkButton>
<asp:HiddenField ID="hid_states" runat="server" Value='<%# Eval("States") %>' />
<asp:LinkButton ID="lkbtnVote" CommandName="lkbtnVote" runat="server" CommandArgument='<%# Eval("Id") %>'>投票数据同步</asp:LinkButton>
<asp:LinkButton ID="lkbDelete" CommandName="lkbDelete" runat="server" CommandArgument='<%# Eval("Id") %>' OnClientClick="return confirm('您将清除此投票项目的投票数据,确认删除吗?');">删除</asp:LinkButton>
<a href="javascript:void(0)" onclick="manageWorkVoteInfo(<%#Eval("Id") %>)">投票统计</a>
</ItemTemplate>
<ItemStyle Wrap="False" HorizontalAlign="left" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<img src="/images/no_data.gif" />
</EmptyDataTemplate>
</asp:GridView>
protected void RptUsers_RowCommand(object sender, GridViewCommandEventArgs e)
{
//删除
if (e.CommandName.Equals("lkbDelete"))
{
try
{
Dictionary<string, object> searchConditions = new Dictionary<string, object>();
searchConditions.Add("States",);
searchConditions.Add("ActivityId", Convert.ToInt32(e.CommandArgument.ToString())); IList<WorkInfo> workInfo_list = ServiceFactory.WorkInfoService.QueryWorkInfo(searchConditions);
if (workInfo_list.Count > )
{
JSUtil.MessageBox("该投票下面有图文作品,请先删除图片作品!");
return;
} ActivityInfo model_activeInfo = ServiceFactory.ActivityInfoService.GetById(Convert.ToInt32(e.CommandArgument.ToString()));
string imgpath =model_activeInfo==null?"": model_activeInfo.ImgPath;
ActivityInfo activity = model_activeInfo;
//ServiceFactory.ActivityInfoService.Delete(Convert.ToInt32(e.CommandArgument.ToString()));
IOHelper.DeleteFile(Server.MapPath(imgpath));
UserInfo user=ServiceFactory.UserInfoService.GetById(int.Parse(activity.Creater));
IDictionary<string, object> param = new Dictionary<string, object>();
param.Add("Activity", activity.Id);
param.Add("AdminId", user.Id);
//投票活动和管理员授权列表
IList<RelationAdminActivityInfo> res = ServiceFactory.RelationAdminActivityInfoService.QueryConditions(param);
if (res != null && res.Count > )
{
foreach(var item in res)
{
ServiceFactory.RelationAdminActivityInfoService.Delete(item.Id);
}
}
//删除投票活动 20161216
ServiceFactory.ActivityInfoService.Delete(Convert.ToInt32(e.CommandArgument.ToString())); JSUtil.MessageBox("删除成功!");
BindData();
}
catch
{
JSUtil.MessageBox("删除失败,请稍后再试!");
}
}
//投票同步
else if (e.CommandName.Equals("lkbtnVote"))//作品数和投票数数据同步
{
try
{
int votecount = ;
ActivityInfo activity = ServiceFactory.ActivityInfoService.GetById(int.Parse(e.CommandArgument.ToString()));
//图文投票
if (activity.ActiveType == )
{
Dictionary<string, object> searchConditions = new Dictionary<string, object>();
searchConditions.Add("States", );
searchConditions.Add("ActivityId", Convert.ToInt32(e.CommandArgument.ToString()));
IList<WorkInfo> workInfo_list = ServiceFactory.WorkInfoService.QueryWorkInfo(searchConditions);
if (workInfo_list != null && workInfo_list.Count > )
{
for (int i = ; i < workInfo_list.Count; i++)
{
votecount += workInfo_list[i].TotalVoteCount;
}
}
activity.VoteCount = votecount; //投票数
activity.WorkCount = workInfo_list.Count;//作品数
ServiceFactory.ActivityInfoService.Update(activity);
}
else //文字投票 ToDo
{
}
JSUtil.MessageBox("同步成功!");
BindData();
}
catch
{
JSUtil.MessageBox("同步失败,请稍后再试!");
}
} //开启
else if (e.CommandName.Equals("lkbtnOpen"))//开启
{
try
{
ActivityInfo activity = ServiceFactory.ActivityInfoService.GetById(int.Parse(e.CommandArgument.ToString()));
if (activity.States == )
{
activity.States = ;
activity.UpdateTime = DateTime.Now;
}
else
{
activity.States = ;
activity.UpdateTime = DateTime.Now;
}
ServiceFactory.ActivityInfoService.Update(activity);
JSUtil.MessageBox("操作成功!");
BindData();
}
catch
{
JSUtil.MessageBox("操作失败,请稍后再试!");
}
}
}
protected void RptUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//用FindControl方法找到模板中的Label控件
HiddenField HiddenField = (HiddenField)e.Row.FindControl("hid_states");// 0不开启 1 开启
LinkButton lkbtnOpen = (LinkButton)e.Row.FindControl("lkbtnOpen"); //开启按钮
if (HiddenField.Value == "")
{
lkbtnOpen.Text = "开启";
}
else
{
lkbtnOpen.Text = "关闭";
}
}
}
GridView的 OnRowDataBound 事件用法的更多相关文章
- GridView的 PreRender事件与 RowCreated、RowDataBound事件大乱斗
GridView的 PreRender事件与 RowCreated.RowDataBound事件大乱斗 之前写了几个范例,做了GridView的 PreRender事件与 RowCreated.Row ...
- jQuery 事件用法详解
jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...
- 网格视图(GridView)功能和用法
GridView用于在界面上按行.列分布的方式来显示多个组件.GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有很高的相似性,它们都是列 ...
- jQuery event,冒泡,默认事件用法
jQuery event,冒泡,默认事件用法 <%@ page language="java" import="java.util.*" pageEnco ...
- 【DevExpress】GridView的RowClick事件禁用Checkbox选择的解决办法
添加GridView的RowCellClick事件,代码如下 private void gvBoxMails_RowCellClick(object sender, DevExpress.XtraGr ...
- repeater的command事件用法
当Repeater里面循环控件时就会用到command, 是Repeater控件的原生事件用法 Repeater里面如果循环控件,控件的ID是会被改变的 repeater.itemcommand+= ...
- jquery get ($.get) 事件用法与分析
jquery get ($.get) 事件用法与分析 get() 方法通过远程 HTTP GET 请求载入信息.这是一个简单的 GET 请求功能以取代复杂 $.ajax .请求成功时可调用回调函数.如 ...
- GridView的 PreRender事件与范例--GridView + CheckBox,点选多列资料(复选删除)
GridView的 PreRender事件与范例--GridView + CheckBox,点选多列资料(复选删除) 之前有一个范例,相同的结果可以用两种作法来实践 [GridView] 资料系结表达 ...
- 关于gridview里加按钮事件的总结
1. onrowcommand="GridView1_RowCommand1" 在gridview申明时的属性里要有,然后找到闪电,双击 还有要把那个按钮行模板化,就是箭头里面的t ...
随机推荐
- SQL Server ---(CDC)监控表数据(转译)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现过程(Realization) 补充说明(Addon) 参考文献(References) ...
- mysql-1
接触mysql已经一年多了,但是平时很少用到,仅限于安装部署,最近在学习运维开发,需要用到数据库,于是买了一本mysql必知必会,给自己一个两个星期的时间,学完这本书, 写这一系列的博客,就是记录学习 ...
- 烂泥:SQL Server 2005数据库安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为了能更好的利用服务器,所以打算把该业务进行迁移.因为该业务比较特殊,需要服务器上有相应的硬件支持,所以打算直接升级该服务器目前的操作系统.目前公司服务 ...
- 嵌入式Linux开发板
嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...
- C#语句
C#控制语句 控制语句: goto语句 If语句 do while循环 for循环 while循环 switch语句 三元运算符 <test?><resultIfTrue&g ...
- C++ 之 策略模式
1 会飞的鸭子 Duck 基类,包含两个成员函数 swim() 和 display():派生类 MallardDuck,RedheadDuck 和 RubberDuck,各自重写 display() ...
- leetcode-Combinations 复习复习排列组合
Combinations 题意: 根据给定的n和k,生成从1到n范围内长度为k的排列组合 示例: n=4 k=2 [[1, 2], [1, 3], [1, 4], [2, 1], [2, 3], [2 ...
- 希尔排序(c++)
希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该方法因DL.Shell于1959年提出而得名. 希尔排序是把记 ...
- 第15章 设备无关位图_15.1 DIB文件格式
15.1 DIB文件格式(一种文件格式,扩展名为BMP) 15.1.1 OS/2风格的DIB 文件格式 字段 说明 文件头 (BITMAPFILEHEADER) 1.共14个字节 2.缩写建议用bmf ...
- u3d_Shader_effects笔记2 自定义surfaceDiffuseLight
1.前面的心情 今晚7点半睡着后,9点半左右被吵醒.醒来后非常失落,感觉人生到底在追求什么,我又在追求什么.昨晚梦到妈妈了.最近不时会想到爷爷的去世.人世的险恶,良心的缺失.不过一切总要向前看,至少我 ...