repeater控件用法_propertygrid控件

repeater控件用法_propertygrid控件在我们编写程序的时候经常会遇到控件嵌套的问题。通常最经常用到的控件时repeater,以下是一两个列子。HTML<asp:repeaterid="repeaterMain"Runat="server"OnItemDataBound="repeaterMain_ItemDataBound"><ItemTemplate><table&g..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在我们编写程序的时候经常会遇到控件嵌套的问题。
通常最经常用到的控件时repeater,以下是一两个列子。
HTML
<asp:repeater id=”repeaterMain” Runat=”server” OnItemDataBound=”repeaterMain_ItemDataBound”>
<ItemTemplate>
<table>
<tr><td>
<a href= ” <%#”Details.aspx?au_id=” + DataBinder.Eval(Container,”DataItem.au_id”)%> “> <%#DataBinder.Eval(Container,”DataItem.au_id”)%> </a> 大类<br>
</td>
</tr>
<asp:repeater ID=”repeaterSub” Runat=”server”>
<ItemTemplate>
<tr>
<td>
<a href= ” <%#”Details.aspx?title_id=” + DataBinder.Eval(Container,”DataItem.title_id”)%> “> <%#DataBinder.Eval(Container, “DataItem.title_id”)%> </a> 小类
</td>
</tr>
</ItemTemplate>
</asp:repeater>
</table>
</ItemTemplate>

</asp:repeater>

C#code

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{

BindMain();
}
}

private void BindMain()
{

SqlConnection cn = new SqlConnection(@”server=(local);uid=sa;pwd=1234567890;database=pubs”);
SqlDataAdapter da = new SqlDataAdapter(“select au_id from authors”, cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
repeaterMain.DataSource = ds.Tables[0].DefaultView;
repeaterMain.DataBind();
cn.Close();
}

protected void repeaterMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

string au_id = ((DataRowView)e.Item.DataItem).Row[“au_id”].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl(“repeaterSub”);
if (repeaterSub != null)
{

SqlConnection cn = new SqlConnection(@”server=(local);uid=sa;pwd=1234567890;database=pubs”);
SqlCommand cmd = new SqlCommand(“select title_id from titleauthor where au_id = @au_id”, cn);
cmd.Parameters.Add(“@au_id”, SqlDbType.VarChar, 11).Value = au_id;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}
}
C# code
checklistbox
如果是bind checklistbox
protected void group_manage_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

string au_id = ((DataRowView)e.Item.DataItem).Row[“id”].ToString();
CheckBox chk = (CheckBox)e.Item.FindControl(“chk_lock”);
chk.Text = au_id.ToString();

DABaseAccess DB = new DABaseAccess();
string Str = “select r.rolename from users u left join meun_userrole ur on u.id=ur.userid “
+ ” left join meun_role r on ur.roleid=r.id “
+ “where u.id=” + au_id;

Repeater repeaterSub = (Repeater)e.Item.FindControl(“repeaterSub”);
if (repeaterSub != null)
{

repeaterSub.DataSource = DB.Query(Str);
repeaterSub.DataBind();
}

}
}
取值关于控件取值问题

for (int i = 0; i < this.group_manage.Items.Count; i++)
{

CheckBox chk = (CheckBox)group_manage.Items[i].FindControl(“chk_lock”);
if (chk != null)
{

chk.Checked = false;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182526.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rpm安装python[通俗易懂]

    rpm安装python[通俗易懂]由于python版本不匹配,所以需要重新安装python,但是通过源码编译在make的时候会有很多依赖项的问题(具体见http://www.linuxdiyf.com/viewarticle.php?id=55587),尝试了很久无法解决,无意中发现下面的方法,最终安装成功。wget http://mirrors.ircam.fr/pub/ius/stable/Redhat/5/x

    2022年6月5日
  • Java:JVM垃圾回收机制[通俗易懂]

    Java:JVM垃圾回收机制[通俗易懂]JVM垃圾回收机制提到Java垃圾回收机制就不得不提到一个方法:system.gc()用于调用垃圾收集器,在调用时垃圾收集器将运行以回收未使用的内存空间,它将尝试释放被丢弃对象所占用的空间。作为程序员有必要了解gc方法,这也是在面试中经常会被问及的问题:我们从三个方面来理解gc:1.JVM如何确定哪些空间能被回收?2.JVM会在什么时候进行垃圾清除的动作?3.JVM如何清除垃圾的?1.JVM如…

    2022年6月3日
  • Anaconda在PowerShell中无法使用activate激活环境

    Anaconda在PowerShell中无法使用activate激活环境Anaconda在PowerShell中无法使用activate激活环境并且使用AnacondaNavigator管理器也是可以成功激活环境的:但是问题来了:我在windows自带的WindowsPowerShell里使用activate命令切换环境时,命令明明已经成功执行,但却没有成功切换环境,如图:经过…

    2022年7月14日
  • log4cpp深度封装[通俗易懂]

    log4cpp深度封装[通俗易懂]简介关于log4cpp的介绍与好处就不再赘言了,百度一搜一大把。主要是对于log4cpp的使用如果不封装一下,感觉还是挺麻烦的,例如不少函数名挺长的。所以自己动手把它的日常使用进行了封装,可以让使用log4cpp就像调用一句printf()函数一样简单快捷。封装目标不需要用一次就调用一次getInstance,只需要在main文件中引入一次即可封装成需要使用时只需简短的一举logError(“s

    2022年7月13日
  • Kotlin学习之路(4)函数的运用

    Kotlin学习之路(4)函数的运用

    2021年3月12日
  • futex函数_fulfilment和fulfillment

    futex函数_fulfilment和fulfillment#include<linux/futex.h>#include<sys/time.h>intfutex(int*uaddr,intfutex_op,intval,     conststructtimespec*timeout,/*or:uint32_tval2*/     int*uaddr2,intval3…

    2022年9月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号