如何将数据库行绑定到标签? [英] How to bind database rows to the label?
本文介绍了如何将数据库行绑定到标签?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Hai Sir,
我有一个名为Subject的表和两个SubId,SubName和Year列。在此表中,我根据年份添加了多个主题名称。
从这里开始,在前端设计中有一个下拉列表,其中包含来自数据库的主题表的绑定年份行。当我选择特定年份时,主题名称应仅以标签形式出现。
如何为此要求编写代码?
解决方案
可能会帮助你.Onselectindexchange事件的下拉列表
using (SqlCommand cmd = new SqlCommand( select * from tablename where year =' + dropdownlist.SelectedValue + ',CONN))
{
cmd.ExecuteNonQuery();
使用(SqlDataAdapter sqd = new SqlDataAdapter(cmd))
{
DataTable dtq = new DataTable();
sqd.Fill(dtq);
if (dtq.Rows.Count > 0 )
{
for ( int i = < span class =code-digit> 0 ; i < dtq.Rows.Count; i ++)
{
< span class =code-keyword> if (lbltext.Text!= ) // lbltext是Label的ID
{
lbltext.Text = lbltext.Text + , + dtq.Rows [i] [ name]。ToString();
}
else
{
lbltext.Text = dtq.Rows [i] [ name]。ToString();
}
}
}
}
}
C#
受保护 void Page_Load( object sender,EventArgs e)
{
if (!IsPostBack)
{
使用(DBEntities dc = new DBEntities ())
{
ddlYear.DataSource = dc.Subjects.Select(s = > s.Year).Distinct()。ToList ();
ddlYear.DataBind();
}
}
}
受保护 void ddlYear_SelectedIndexChanged( object sender,EventArgs e)
{
int year = Convert.ToInt32(ddlYear.Text);
使用(DBEntities dc = new DBEntities())
{
ListViewSubjects.DataSource = dc.Subjects.Where(s = > s.Year == year).Distinct()。ToList();
ListViewSubjects.DataBind();
}
}
ASPX
< form id = form1 runat = 服务器 >
< div >
< asp:DropDownList ID = ddlYearrunat = server AutoPostBack = True OnSelectedIndexChanged = ddlYear_SelectedIndexChanged > < / asp:DropDownList >
< br / >
< asp:ListView ID = ListViewSubjects runat = server >
< ItemTemplate >
< asp:标签 ID = NameLabel runat = 服务器
文字 = ' <% #Eval( 名称)%> ' / >
< / ItemTemplate >
< / asp:ListView >
< / div >
< / form > 跨度>
Hai Sir,
I have one table with name Subject and two columns SubId,SubName and Year .In this table I added multiple subject names based on year.
From this, in front end design there is a dropdown list having binding Year rows from Subject Table from Database. When I select particular year the subject names should come in Labels only.
How can I write code for this requirement?
解决方案
May be this will help you out.Onselectindexchange event of drop-downlist
using (SqlCommand cmd = new SqlCommand("select * from tablename where year='"+dropdownlist.SelectedValue+"'", CONN)) { cmd.ExecuteNonQuery(); using (SqlDataAdapter sqd = new SqlDataAdapter(cmd)) { DataTable dtq = new DataTable(); sqd.Fill(dtq); if (dtq.Rows.Count > 0) { for (int i = 0; i < dtq.Rows.Count; i++) { if (lbltext.Text != "")// lbltext is the id of Label { lbltext.Text = lbltext.Text + ", " + dtq.Rows[i]["name"].ToString(); } else { lbltext.Text = dtq.Rows[i]["name"].ToString(); } } } } }
C#
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DBEntities dc = new DBEntities()) { ddlYear.DataSource = dc.Subjects.Select(s => s.Year).Distinct().ToList(); ddlYear.DataBind(); } } } protected void ddlYear_SelectedIndexChanged(object sender, EventArgs e) { int year = Convert.ToInt32(ddlYear.Text); using (DBEntities dc = new DBEntities()) { ListViewSubjects.DataSource = dc.Subjects.Where(s=> s.Year == year) .Distinct().ToList(); ListViewSubjects.DataBind(); } }
ASPX
<form id="form1" runat="server"> <div> <asp:DropDownList ID="ddlYear" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged"></asp:DropDownList> <br /> <asp:ListView ID="ListViewSubjects" runat="server"> <ItemTemplate> <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name") %>' /> </ItemTemplate> </asp:ListView> </div> </form>
这篇关于如何将数据库行绑定到标签?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文