많은 행이있는 테이블에 데이터베이스가 있는데 그 행을 보통 행 (Gridview가 아님)으로 표시하려고합니다. 마찬가지로 : 클래스 1/1, 클래스 2/1, 클래스 3/1DB에서 많은 행을 정상선으로 표시 하시겠습니까?
우리가 가지고(1/1 및 2/1 및 3/1)에서 :
이러한 수업을 데이터 베이스.
어떻게하면됩니까?
참고 : 저는 LINQ를 사용하여 데이터베이스를 처리합니다.
많은 행이있는 테이블에 데이터베이스가 있는데 그 행을 보통 행 (Gridview가 아님)으로 표시하려고합니다. 마찬가지로 : 클래스 1/1, 클래스 2/1, 클래스 3/1DB에서 많은 행을 정상선으로 표시 하시겠습니까?
우리가 가지고(1/1 및 2/1 및 3/1)에서 :
이러한 수업을 데이터 베이스.
어떻게하면됩니까?
참고 : 저는 LINQ를 사용하여 데이터베이스를 처리합니다.
리피터를 사용하는 것이 나에게 가장 쉬운 방법 인 것 같습니다. 이런 식으로 보일 겁니다.
<div>
You teach these classes:
<asp:Repeater
ID="rptListOfClasses"
runat="server"
DataSourceID="linqDataSource" >
<ItemTemplate>
<span> class <%# Eval("ClassDate") %>, </span>
</ItemTemplate>
</asp:Repeater>
</div>
<asp:ListView ID="lvClass" runat="server" DataSourceID="LinqDataSource1" OnItemDataBound ="lvResult_ItemDataBound" >
<LayoutTemplate>
You teach these classes:
<asp:PlaceHolder runat="server" ID="itemPlaceHolder" ></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<asp:Label ID="lblClass" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Class") + ", " %>' ></asp:Label>
</ItemTemplate>
</asp:ListView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="MyDataContext" TableName="ClassList"
onselected="LinqDataSource1_Selected">
</asp:LinqDataSource>
코드 뒤에 : //은
public class Test : System.Web.UI.Page
{
int iCount = 0;
protected void lvResult_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Label lblClass = e.Item.FindControl("lblClass") as Label;
ListViewDataItem lvItem = e.Item as ListViewDataItem ;
if (lblClass != null)
if (lvItem.DataItemIndex == (iCount - 1))
lblClass.Text = lblClass.Text.Substring(0, lblClass.Text.ToString().Length - 2);
}
}
protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
iCount = e.TotalRowCount;
}
}
(,) 마지막 쉼표를 제거