1. 怎么是自定义事件总括     官方网站:https://weixin.hotapp.cn/document

    自定事件,正是自定总计任意事件的试行,灵活度最高。

  前段时间应用GridView实现一个音讯列表,况且还要对那些列表的音信进行增、删、改操作,同不常候还必要分页功用。曾今看到有人做过这么的职能,在页脚扩展分页操作和新建、修改、删除、保存的操作。

iOS10未来苹果推送功效做了十分的大的更新具体的内幕就不在此处写了,网络平昔搜索有那三个,以后只讲下小编在支付推送的经过中碰着的一个没非凡,要求是急需音讯推送成功后客商能够看到标题和副标题,那么些都以在iOS10从此推送里才新添的,并且最关键的是在iOS10自此您推送的多条新闻在通报面板查看的时候,点击一条以往其余的几条也都一一新闻了,那自然不满意需求,查看了建行、ofo、支付宝等推送都得以做到点击一条未有一条,小编觉着既然别人可以实现一定是能够兑现的,只是你不通晓并且,后来多处查看资料何况询问,iOS的敦默寡言推送即(Remote
Notifiactaiion)当然他是分别消息推送的,具体的使用办法我们能够自定百度翻看,只说内部的一点,静默推送里边蕴含八个content-available那几个key值,设置那几个key值技术标示是静默推送,它的推送新闻是查看一条未有一条的,然后自个儿就在友盟的推送后台扩大了那一个key值,今年还会有三个标题,正是消息角标的难题,借使您设置了那个key值必需保持角标为空,本事够高达一条一条的去除,其实真正想做到点击一条未有一条遵照常规逻辑
角标的个数必必要和后台同步才行,当然最近由于我们急急发版,没太关切角标的标题,然而具体到事关角标依旧相对复杂些,因为你要将顾客参看后的状态发给后台,然后再拓宽计算结合后台发送推送音信来安装角标的确实的个数,这么些将来做完这些必要还再详尽介绍,由此可知你想在iOS10随后设置音信推送是一条一条未有的总得做到以下两点就可以:
1:设置content-available的值为1
2:角标在友盟后台无需设置值为空

图片 1

  点击—>新建,当前页记录集最后一行现身要求录入数据的空行控件。

图片 2

  点击—>删除,供给先选中单选行,删除才施行操作。

用上海体育场面的云笔记表达
想明白如下音信

  点击—>修改,须要先选中单选行,然后此行处于编辑状态,最终点击保存。

(1)几个人点击了新建笔记
(2)几个人点击了保留和删除

  达成单选具备二种办法:

那么通过在保存按键的bindTap事件参预事件总括,每点击二遍,就将新闻发送二次
后台通过记录音信数,就清楚有微微人点击了。
举例大家把新建台式机取叁个事件ID 叫addNote

  第一种:在模板列中出席RadioButton控件,通过Group无法实现单选的操作,须求JavaScript代码达成,如下

在增加产量笔记的bindTap事件里扩大总结

图片 3图片 4代码

 * 新增笔记事件
   */
  onNewItem: function(event) {
     hotapp.onEvent('addNote') //新增笔记的统计事件
    wx.navigateTo({
      url: "../create/index"
    })
  },
 1 //判断单选框是否选择
 2  function setRadio(nowRadio) {
 3     var myForm, objRadio;
 4     myForm = document.forms[0];
 5     for (var i = 0; i < myForm.length; i++) {
 6         if (myForm.elements[i].type == "radio") {
 7             objRadio = myForm.elements[i];
 8             if (objRadio != nowRadio && objRadio.name.indexOf("GridView1") > -1 && objRadio.name.indexOf("radBtn") > -1) {
 9                 if (objRadio.checked) {
10                     objRadio.checked = false;
11                 }
12             }
13         }
14     }
15 }

  在剔除笔记的bindTap事件里扩张总括

这种艺术必要绑定客商端事件

* 删除笔记事件
   */
  onDeleteItem: function(event) {
     hotapp.onEvent('deleteNote') //新增笔记的统计事件
  },

protected void GridView1_RowDataBound(object sender,
GridViewRowEventArgs e)
{
        //给每个RadioButton1绑定setRadio事件
        ((RadioButton)e.Row.FindControl(“RadioButton1”)).Attributes.Add(“onclick”,
“setRadio(this)”);
}

在保存笔记的bindTap事件里增添计算

 

* 保存笔记事件
   */
  onSaveItem: function(event) {
     hotapp.onEvent('saveNote') //新增笔记的统计事件
  },

  第三种:在GridView的模板列里,加html控件Radio控件

注意事项:计算事件Id须求在后台先加多

图片 5

 

官网:

 

图片 3图片 7代码

 1 <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" ShowHeader="False">
 2             <Columns>
 3                 <asp:TemplateField>
 4                     <ItemTemplate>
 5                         <input type="radio" name="myRadio" value='<%# Container.DataItemIndex.ToString() %>'>
 6                     </ItemTemplate>
 7                 </asp:TemplateField>
 8             </Columns>
 9         </asp:GridView>
10  <script type="text/javascript">
11             function setNowRadio(v)
12             {
13                 var myForm,objRadio;
14                 myForm=document.forms[0];
15                 for(var i=0;i<myForm.length;i++)
16                 {
17                     if(myForm.elements[i].type=="radio")
18                     {
19                         objRadio=myForm.elements[i];
20                         if(objRadio.value==v)
21                         {
22                             objRadio.checked=true;
23                         }
24                     }
25                 }
26             }
27             <asp:Literal ID="jsLiteral" runat="server"></asp:Literal>
28         </script>
29  

 

后台能够通过Request.Form[“myRadio”].ToString()获取到值,不用遍历控件。

上面是落到实处分页及别的功效的页面代码:

图片 3图片 9代码

 1 <asp:GridView ID="GridView1" runat="server"
 2             Width="850px" AllowPaging="True" CellPadding="3" BackColor="White" 
 3             BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
 4             Font-Size="10pt" ForeColor="#333333"
 5             AutoGenerateColumns="False" 
 6             onrowdatabound="GridView1_RowDataBound" 
 7             AllowSorting="True"
 8             >
 9             <Columns>    
10                 <asp:TemplateField AccessibleHeaderText="True" HeaderText="单选">
11                     <ItemTemplate>
12                         <asp:RadioButton ID="radBtn" runat="server" />
13                     </ItemTemplate>
14                     <EditItemTemplate>
15                         <asp:RadioButton ID="radBtn" runat="server" />
16                     </EditItemTemplate>
17                     <FooterTemplate>
18                         <asp:RadioButton ID="radBtn" runat="server" />
19                     </FooterTemplate>
20                     <FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" />
21                     <HeaderStyle Width="40px" />
22                     <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="40px" />
23                 </asp:TemplateField>
24                 <asp:TemplateField HeaderText="编号">
25                     <ItemTemplate>
26                         <asp:Label ID="labId" runat="server" Text='<%#  Bind("id") %>'></asp:Label>
27                     </ItemTemplate>
28                     <EditItemTemplate>
29                         <asp:Label ID="labIdE" ForeColor="Red" runat="server" Text="" Width="60px"></asp:Label>
30                     </EditItemTemplate>
31                     <FooterTemplate>
32                         <asp:Label ID="labIdI" ForeColor="Red" runat="server" Text="" Width="60px"></asp:Label>
33                     </FooterTemplate>
34                     <HeaderStyle Width="60px" />
35                     <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="60px" />
36                 </asp:TemplateField>
37                 <asp:TemplateField HeaderText="名称">
38                     <ItemTemplate>
39                         <a href='<%# "DefSteps.aspx?id=" + Eval("id") %>'><%# Eval("name")%></a>
40                     </ItemTemplate>
41                     <EditItemTemplate>
42                         <asp:TextBox ID="txtNameE" runat="server" Width="200px"></asp:TextBox>
43                     </EditItemTemplate>
44                     <FooterTemplate>
45                         <asp:TextBox ID="txtNameI" runat="server" Width="200px"></asp:TextBox>
46                     </FooterTemplate>
47                     <HeaderStyle Width="200px" />
48                     <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" Width="200px" />
49                 </asp:TemplateField>
50             </Columns>
51             <FooterStyle BackColor="#C1CEF2" Font-Bold="True" ForeColor="White" />
52             <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
53             <RowStyle BackColor="#EFF3FB" ForeColor="#4A3C8C" />
54             <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
55             <HeaderStyle BackColor="#6699CC" Font-Bold="True" Font-Size="Small" ForeColor="White" />
56             <EditRowStyle BackColor="#C1CEF2" />
57             <AlternatingRowStyle BackColor="White" />
58             <PagerTemplate>
59                 <table width="100%">
60                     <tr>
61                         <td align="left">
62                             <asp:Button ID="btnFirst" runat="server" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>" CausesValidation="False" Text="首页" onclick="btnFirst_Click" />
63                             <asp:Button ID="BtnPre" runat="server" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>" CausesValidation="False" Text="上一页" onclick="BtnPre_Click" />
64                             <asp:Button ID="BtnNext" runat="server" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>"
65                     CausesValidation="False" Text="下一页" onclick="BtnNext_Click" />
66                             <asp:Button ID="BtnLast" runat="server" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>"
67                     CausesValidation="False" Text="尾页" onclick="BtnLast_Click" />
68                         </td>
69                         <td align="center">
70                             当前第<asp:Label ID="LblPage" runat="server" style="text-align:center" Text='<%# GridView1.PageIndex + 1%>'></asp:Label>
71                             页 共<asp:Label ID="LblTotalPage" runat="server" style="text-align:center;" Text='<%# GridView1.PageCount %>'></asp:Label>
72                             页</td>
73                         <td align="right">
74                             <asp:Button ID="BtnAdd" runat="server" CommandName="Insert" onclick="BtnAdd_Click" Text="添加" />
75                             <asp:Button ID="BtnModify" runat="server" CommandName="Update" onclick="BtnModify_Click" Text="编辑" />
76                             <asp:Button ID="BtnDelete" runat="server" CommandName="Delete" Text="删除" 
77                                 onclick="BtnDelete_Click" />
78                             <asp:Button ID="BtnSave" runat="server" CommandName="Save" onclick="BtnSave_Click" Text="保存" />
79                             <asp:Button ID="BtnCancel" runat="server" CommandName="Cancel" Text="取消" 
80                                 onclick="BtnCancel_Click" />
81                         </td>
82                     </tr>
83                 </table>               
84             </PagerTemplate> 
85         </asp:GridView> 

现实的分页效用不是很难,也就不在那写了。

新建:GridView1.ShowFooter = true

删去:先推断是不是选中操作

图片 3图片 11代码

 1 protected void BtnDelete_Click(object sender, EventArgs e)
 2     {
 3         index = 0;
 4         int checkNum = 0;
 5         string id = "";
 6         foreach (GridViewRow gvr in GridView1.Rows)
 7         {
 8             if (((RadioButton)gvr.FindControl("radBtn")).Checked)
 9             {
10                 index = gvr.RowIndex;
11                 checkNum = 1;
12                 id =((Label)GridView1.Rows[index].FindControl("labId")).Text;
13                 DeleteChart(id);//执行删除操作
14              }
15         }
16         ViewData();//填充数据
17          if (checkNum == 0)
18         {
19             ScriptManager.RegisterStartupScript(this, typeof(Page), "提示", "<script>alert('选择要删除的行');</script>", false);
20             return;
21         }
22     }

 效果图如下:

图片 12

 

呼救:在三次的误操作进程中窥见了三个难点,正是当记录点滴每页展现的记录数时,只有一页数据,PagerTemplate不显得,不亮堂我们开掘这一个难题远非,解决了几许天也没消除,希望各位好朋友能给予援救,再度感激!

 

同期也盼望各位朋友建议好的主意,共同交流共同进步!

 

相关文章