如何在GridView中绑定中继器 [英] how to bind repeater inside gridview
本文介绍了如何在GridView中绑定中继器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
.aspx
.aspx
<asp:GridView ID="gvRepeter" AutoGenerateColumns="false" AllowPaging="true" runat="server"
Width="100%" OnRowDataBound="gvRepeter_RowDataBound"
onsorting="gvRepeter_Sorting">
<columns>
<asp:BoundField HeaderText="#">
<HeaderStyle Width="2%" CssClass="alternate_heading" />
<itemstyle horizontalalign="Right" />
<asp:TemplateField>
<itemtemplate>
<asp:Repeater ID="rpEmpSearch" runat="server" OnItemCommand="rpEmpSearch_ItemCommand"
DataSource='<%#DataBinder.Eval(Container,"DataItem") %>'>
<itemtemplate>
<table class="extAlternate_row1 tblRepeater" style="width: 100%;">
<tr>
<td>
<div>
Organisation Name:
<asp:Label ID="lblOrgName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "OrganisationName")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Location:
<asp:Label ID="lblLocation" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Location")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Industry Type:
<asp:Label ID="lblIndustry" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IndustryType")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Website:
<asp:Label ID="lblWebsite" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Website")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Address:
<asp:Label ID="lblAddress" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Address")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Email Address:
<asp:Label ID="lblEmail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Email")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Contact Number:
<asp:Label ID="lblContact" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ContactNo")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div style="float: right;">
<asp:LinkButton ID="lnlViewDetail" runat="server" CommandName="View Detail" CommandArgument='<%#Eval("Id") %>'>
View Detail
</div>
</td>
</tr>
</table>
</itemtemplate>
<alternatingitemtemplate>
<table class="extAlternate_row2 tblRepeater" style="width: 100%;">
<tr>
<td>
<div>
Organisation Name:
<asp:Label ID="lblOrgName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "OrganisationName")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Location:
<asp:Label ID="lblLocation" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Location")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Industry Type:
<asp:Label ID="lblIndustry" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IndustryType")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Website:
<asp:Label ID="lblWebsite" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Website")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Address:
<asp:Label ID="lblAddress" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Address")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Email Address:
<asp:Label ID="lblEmail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Email")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div>
Contact Number:
<asp:Label ID="lblContact" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ContactNo")%>'>
</div>
</td>
</tr>
<tr>
<td>
<div style="float: right;">
<asp:LinkButton ID="lnlViewDetail" runat="server" CommandName="View Detail" CommandArgument='<%#Eval("Id") %>'>
View Detail
</div>
</td>
</tr>
</table>
</alternatingitemtemplate>
</itemtemplate>
</columns>
在这里,我有一个gridview,在其中我已控制了中继器,但是,每当我绑定gridview时,都不会显示任何内容
这是我的代码
Here I am having a gridview inside which i have taken repeater control But ,Whenever i bind my gridview nothing is displayed
Here is my code
var query = (from t in context.Employer
join c in context.EmployerContactDetails on t.ID equals c.EmployerID
join s in context.SubClass on t.NICCodeNew equals s.ID
where c.AddressTypeID == (int)enmAddressType.MainBranchOffice
select new
{
Id = t.ID,
OrganisationName = pageLanguage == enmLanguage.English ? t.OrganisationName : t.OrganisationNameRegional,
LocationID = t.LocationID,
Location = pageLanguage == enmLanguage.English ? t.Location.Name : t.Location.NameRegional,
IndustryType = pageLanguage == enmLanguage.English ? s.Name : s.NameRegional,
Website = t.Website,
Address = c.Address,
Email = c.EmailAddress1 == "" ? c.EmailAddress2 : c.EmailAddress1,
ContactNo = c.Phone1 == null ? c.Phone2 : c.Phone1,
Sector = t.PrimarySectorID,
OrganisationType = t.OrganisationTypeID,
EmpTotal = t.TotalEmployees
}).Distinct();
我在做什么错..请帮助
What is the mistake i am doing ..Please Help
推荐答案
您可以将重发器绑定到gridview的itemdatabound事件中.它将起作用
you can bind the repeater in itemdatabound event of gridview.It will work
您需要将数据分别与转发器绑定.
You need to bind your data with repeater separately.
这篇关于如何在GridView中绑定中继器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文