<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 事件用法的更多相关文章

  1. GridView的 PreRender事件与 RowCreated、RowDataBound事件大乱斗

    GridView的 PreRender事件与 RowCreated.RowDataBound事件大乱斗 之前写了几个范例,做了GridView的 PreRender事件与 RowCreated.Row ...

  2. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  3. 网格视图(GridView)功能和用法

    GridView用于在界面上按行.列分布的方式来显示多个组件.GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有很高的相似性,它们都是列 ...

  4. jQuery event,冒泡,默认事件用法

    jQuery event,冒泡,默认事件用法 <%@ page language="java" import="java.util.*" pageEnco ...

  5. 【DevExpress】GridView的RowClick事件禁用Checkbox选择的解决办法

    添加GridView的RowCellClick事件,代码如下 private void gvBoxMails_RowCellClick(object sender, DevExpress.XtraGr ...

  6. repeater的command事件用法

    当Repeater里面循环控件时就会用到command, 是Repeater控件的原生事件用法 Repeater里面如果循环控件,控件的ID是会被改变的 repeater.itemcommand+= ...

  7. jquery get ($.get) 事件用法与分析

    jquery get ($.get) 事件用法与分析 get() 方法通过远程 HTTP GET 请求载入信息.这是一个简单的 GET 请求功能以取代复杂 $.ajax .请求成功时可调用回调函数.如 ...

  8. GridView的 PreRender事件与范例--GridView + CheckBox,点选多列资料(复选删除)

    GridView的 PreRender事件与范例--GridView + CheckBox,点选多列资料(复选删除) 之前有一个范例,相同的结果可以用两种作法来实践 [GridView] 资料系结表达 ...

  9. 关于gridview里加按钮事件的总结

    1. onrowcommand="GridView1_RowCommand1" 在gridview申明时的属性里要有,然后找到闪电,双击 还有要把那个按钮行模板化,就是箭头里面的t ...

随机推荐

  1. CSS之旅——第二站 如何更深入的理解各种选择器

    上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成 了xml格式,否则的话就是一堆“杂乱无章”的string ...

  2. Spring中@Autowired注解、@Resource注解的区别

    Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...

  3. 【hbase】——HBase 写优化之 BulkLoad 实现数据快速入库

    1.为何要 BulkLoad 导入?传统的 HTableOutputFormat 写 HBase 有什么问题? 我们先看下 HBase 的写流程: 通常 MapReduce 在写HBase时使用的是 ...

  4. SQL Server调优系列进阶篇(查询语句运行几个指标值监测)

    前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问 ...

  5. Tomcat 目录详解

     一.文字版本: bin: 该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe.tomcat6w.exe,前者是在控制台下启动Tomcat,后者是 ...

  6. spring定时器(二)

    此定时器可重置定时时间. 1. spring的定时器配置文件application.xml: <?xml version="1.0" encoding="UTF-8 ...

  7. 在Myeclipse中将maven程序部署到tomcat中

    用新版的m2e插件就可以了,而且发布后修改jsp是不需要重新发布的.MyEclipse10.6自带新版m2e,只需在Run Configuration的Maven Build中new一个输入confi ...

  8. SVN Unable to connect to a repository at UR

    背景: 1.         SVN服务器:VisualSVN-Server-2.5.5: 2.         SVN客户端:TortoiseSVN-1.7.6.22632-x64-svn-1.7. ...

  9. vs2008环境nmake编译 apache 2.2.29 openssl 1.0.1g mod_ssl 不知道如何生成“"..\..\srclib\openssl\inc32\openssl\store.h"”

    问题: vs2008环境nmake编译 apache 2.2.29 openssl 1.0.1g mod_ssl 不知道如何生成“"..\..\srclib\openssl\inc32\op ...

  10. 301重定向.htaccess规则(含二级目录跳转二级域名)

    301重定向是一种非常重要的"自动转向"技术.网址重定向最为可行的一种办法.当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码 ...