PDA

View Full Version : سوال: ایجاد listview تو در تو در asp.net



milad_tensy
چهارشنبه 10 تیر 1394, 16:21 عصر
سللام دوستان
می خوام LISTVIEW تو در تو ایجاد کنم که هر از دییتابیس و جدول های جدا پر میشه.
خودم تا یه جایی پیش رفتم و لی نتیجه ی مطلوبی نگرفتم.
ممنون میشم راهنماییم کنید.

mbasirati
چهارشنبه 10 تیر 1394, 18:47 عصر
عبارت nested listview asp.net رو توی گوگل سرچ کنی راحت به جواب میرسی

milad_tensy
پنج شنبه 11 تیر 1394, 09:25 صبح
مرسی اتفاقاً گشته بودم ولی اکثراً یه لیست ساخته بودن و از اون لیست بایند کردن . نه از دیتابیس
من می خوام توی Listview اولم یک label و یک listview دیگه ای بزارم که خودش یه کوئری رو از دیتابیس بایند می کنه.

mbasirati
پنج شنبه 11 تیر 1394, 12:02 عصر
این یه نمونه کد هست که من برای گالری یه سایت ازش استفاده کردم که علاوه بر لود کردن آلبومها، عکسهای هر آلبوم رو هم لود میکنه که از لیست ویوی تودرتو استفاده کردم.

<asp:ListView ID="lvAlbums" DataKeyNames="AlbumId" runat="server" OnItemDataBound="lvAlbums_OnItemDataBound">
<ItemTemplate>
<li class="col-xs-4">
<a href="upload/<%# Eval("PicUrl") %>" title='<%# Eval("AlbumTitle") %>' class="col-xs-12">
<img src="upload/thumb-<%# Eval("PicUrl") %>" class="img-responsive" alt="">
<h4 class="title"><%# Eval("AlbumTitle") %></h4>
</a>
<div class="hide">
<asp:ListView ID="lvAlbumPics" runat="server">
<ItemTemplate>
<a href="upload/<%# Eval("PicUrl") %>" title="عنوان عکس اینجاست"></a>
</ItemTemplate>
</asp:ListView>
</div>
</li>
</ItemTemplate>
</asp:ListView>






protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Initializing();
}
}


private void Initializing()
{
BindAlbums();


}


private void BindAlbums()
{
lvAlbums.DataSource = Album.GetAlbums();
lvAlbums.DataBind();
}


protected void lvAlbums_OnItemDataBound(object sender, ListViewItemEventArgs e)
{
var lvAlbumPics = e.Item.FindControl("lvAlbumPics") as ListView;
string albumId = lvAlbums.DataKeys[e.Item.DataItemIndex].Value.ToString();


lvAlbumPics.DataSource = Album.GetPicsOfAlbum(albumId);
lvAlbumPics.DataBind();
}

milad_tensy
شنبه 13 تیر 1394, 09:54 صبح
این یه نمونه کد هست که من برای گالری یه سایت ازش استفاده کردم که علاوه بر لود کردن آلبومها، عکسهای هر آلبوم رو هم لود میکنه که از لیست ویوی تودرتو استفاده کردم.

<asp:ListView ID="lvAlbums" DataKeyNames="AlbumId" runat="server" OnItemDataBound="lvAlbums_OnItemDataBound">
<ItemTemplate>
<li class="col-xs-4">
<a href="upload/<%# Eval("PicUrl") %>" title='<%# Eval("AlbumTitle") %>' class="col-xs-12">
<img src="upload/thumb-<%# Eval("PicUrl") %>" class="img-responsive" alt="">
<h4 class="title"><%# Eval("AlbumTitle") %></h4>
</a>
<div class="hide">
<asp:ListView ID="lvAlbumPics" runat="server">
<ItemTemplate>
<a href="upload/<%# Eval("PicUrl") %>" title="عنوان عکس اینجاست"></a>
</ItemTemplate>
</asp:ListView>
</div>
</li>
</ItemTemplate>
</asp:ListView>






protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Initializing();
}
}


private void Initializing()
{
BindAlbums();


}


private void BindAlbums()
{
lvAlbums.DataSource = Album.GetAlbums();
lvAlbums.DataBind();
}


protected void lvAlbums_OnItemDataBound(object sender, ListViewItemEventArgs e)
{
var lvAlbumPics = e.Item.FindControl("lvAlbumPics") as ListView;
string albumId = lvAlbums.DataKeys[e.Item.DataItemIndex].Value.ToString();


lvAlbumPics.DataSource = Album.GetPicsOfAlbum(albumId);
lvAlbumPics.DataBind();
}






مرسی جواب داد