您当前的位置:首页 > 今日分享头条 > 正文

repeater嵌套(关于repeater 嵌套、如何获得里面的repeater 中的控件)

假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID=“Label1“ runat=“server“ Text=“AAAAAAA“》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID=“Label2“ runat=“server“ Text=’《%# Eval(“name“) %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID=“Label3“ runat=“server“ Text=“BBBBBBB“》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items[i].FindControl(“CheckBox1“); if(cb.Checked) { //相关数据处理 } }但是,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items[i].FindControl(“CheckBox1“); if(cb.Checked) { //相关数据处理 } }但是,关于repeater 嵌套、如何获得里面的repeater 中的控件可以用Items属性来遍历行并用FindControl进行寻找,假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID=“Label1“ runat=“server“ Text=“AAAAAAA“》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID=“Label2“ runat=“server“ Text=’《%# Eval(“name“) %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID=“Label3“ runat=“server“ Text=“BBBBBBB“》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码//在HeaderTemplate中寻找Label1,与本周工作情况表中,默认为最后一个string s=((Label)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl(“Label2“)).Text;如何开发finereport的自定义控件1、实例化一个注册控件的接口package com.hg.free.plugin.customcombo.param;     import com.fr.design.designer.creator.XComboBox;  import com.fr.design.fun.impl.AbstractParameterWidgetOptionProvider;  import com.fr.form.ui.Widget;     public class WidgetRegister extends AbstractParameterWidgetOptionProvider {             @Override          public Class《? extends Widget》 classForWidget() {                  return CustomComboBox.class;          }                    @Override          public Class《?》 appearanceForWidget() {                  return XComboBox.class;          }             @Override          public String iconPathForWidget() {                  return “/com/fr/web/images/combobox.png“;          }             @Override          public String nameForWidget() {                  return “自定义下拉框“;          }     }2、重写控件类package com.hg.free.plugin.customcombo.param;     import com.fr.form.ui.ComboBox;  import com.fr.ui.DataFilter;     public class CustomComboBox extends ComboBox {             private static final long serialVersionUID = 7169771062153345236L;                    @Override          public String getXType() {          return “customcombo“;      }                    @Override          protected DataFilter createDataFilter() {          return new CustomComboBoxDataFilter();      }  }因为要改变过滤方式,一个用来绑定本周工作情况。

关于repeater 嵌套、如何获得里面的repeater 中的控件

可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items[i].FindControl(“CheckBox1“); if(cb.Checked) { //相关数据处理 } }但是,如果在HeaderTemplate和FooterTemplate模板中的控件就无能为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID=“Label1“ runat=“server“ Text=“AAAAAAA“》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID=“Label2“ runat=“server“ Text=’《%# Eval(“name“) %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID=“Label3“ runat=“server“ Text=“BBBBBBB“》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items[i].FindControl(“CheckBox1“); if(cb.Checked) { //相关数据处理 } }但是,如果在HeaderTemplate和FooterTemplate模板中的控件就无能为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID=“Label1“ runat=“server“ Text=“AAAAAAA“》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID=“Label2“ runat=“server“ Text=’《%# Eval(“name“) %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID=“Label3“ runat=“server“ Text=“BBBBBBB“》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码//在HeaderTemplate中寻找Label1,默认为第0个string s=((Label)Repeater1.Controls.FindControl(“Label1“)).Text;//在FooterTemplate中寻找Label2,默认为最后一个string s=((Label)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl(“Label2“)).Text;

如何开发finereport的自定义控件

1、实例化一个注册控件的接口

package com.hg.free.plugin.customcombo.param;     import com.fr.design.designer.creator.XComboBox;  import com.fr.design.fun.impl.AbstractParameterWidgetOptionProvider;  import com.fr.form.ui.Widget;     public class WidgetRegister extends AbstractParameterWidgetOptionProvider {             @Override          public Class《? extends Widget》 classForWidget() {                  return CustomComboBox.class;          }                    @Override          public Class《?》 appearanceForWidget() {                  return XComboBox.class;          }             @Override          public String iconPathForWidget() {                  return “/com/fr/web/images/combobox.png“;          }             @Override          public String nameForWidget() {                  return “自定义下拉框“;          }     }

2、重写控件类

package com.hg.free.plugin.customcombo.param;     import com.fr.form.ui.ComboBox;  import com.fr.ui.DataFilter;     public class CustomComboBox extends ComboBox {             private static final long serialVersionUID = 7169771062153345236L;                    @Override          public String getXType() {          return “customcombo“;      }                    @Override          protected DataFilter createDataFilter() {          return new CustomComboBoxDataFilter();      }  }

因为要改变过滤方式,就要重写一个过滤器

package com.hg.free.plugin.customcombo.param;     import com.fr.form.ui.ComboBoxDataFilter;     public class CustomComboBoxDataFilter extends ComboBoxDataFilter {          @Override          public boolean isMatch(String txt, String filter) {                  if(null==txt && null!=filter)return false;                  if(null==txt && null==filter)return true;                  return txt.indexOf(filter)!=-1;          }  }

3、继承前端控件js

;  (function($){          FR.CustomComboBoxEditor = FR.extend(FR.ComboBoxEditor, {                  _init: function () {                          FR.CustomComboBoxEditor.superclass._init.apply(this, arguments);                  }          });          $.shortcut(“customcombo“, FR.CustomComboBoxEditor);  })(jQuery);

然后写个xml用ant打包成插件就可以了。

Repeater嵌套循环出来的数据怎么是重复的,应该怎么解决啊,上图

《table》《asp:Repeater ID=“repPeople“ runat=“server“》《ItemTemplate》《tr》人《/tr》《asp:Repeater ID=“repLastWeekWork“ runat=“server“》《ItemTemplate》《tr》上个星期工作《/tr》《/ItemTemplate》《/asp:Repeater》《tr》人《/tr》《asp:Repeater ID=“repThisWeekWork“ runat=“server“》《ItemTemplate》《tr》本周工作《/tr》《/ItemTemplate》《/asp:Repeater》《/ItemTemplate》《/asp:Repeater》《/table》

我个人来看,你这里需要在内部嵌套2个repeater,一个用来绑定上周工作情况,一个用来绑定本周工作情况。

而最外层的repeater的数据源是List《People》,然后根据People.ID传递到上周工作情况表,与本周工作情况表中。查询数据,绑定给嵌套的两个repeater

onblur 是控件在失去焦点的时候触发的事件是什么意思

onblur事件只有表单元素具有这个事件!比如说一个输入用户名的登陆框,你把鼠标点上去,光标变一闪一闪的提示你输入信息,这个时候就是得到焦点,就会触发onfocus事件,当你把鼠标点击到输入框外,这个时候就是失去焦点,就会触发onblur事件,一个表单元素的onblur事件是必须在它得到焦点过后才会触发的!也就是说一个从来没得到过焦点的表单元素是不可能会失去焦点的!也就不会触发onblur事件!说了这么多分都没得!郁闷!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 吃尽苦头打一字,吃尽苦头迎春到(部编版小学一年级下册语文期末基础复习提纲)

下一篇: 正则表达式 数字(正则表达式 数字)



推荐阅读