Bu makalede, iç içe geçmiş Repeater denetimleri hiyerarşik verileri görüntülemek için nasıl kullanılacağı açıklanır. Bu, diğer liste bağlı denetimlere uygulayabilirsiniz.
Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
Project Types altında Visual C# Projects ' ı tıklatın ve ASP.NET Web uygulamasışablonları altında tıklatın.
WebApplication Konum</a0> kutusunda silmek #) ve sonra da NestedRepeater türü. Yerel sunucuyu kullanıyorsanız, sunucu adını http://localhost bırakın. Aşağıdaki yolu konumu iletişim kutusunda görüntülenir:
http://localhost/ NestedRepeater
Tamam ' ı tıklatın.
Solution ExplorerNestedRepeater proje adı düğümünü sağ tıklatın, sonra da Ekle işaret ve Web formu Ekle</a1>'ı tıklatın.
Web formu adlandırmak için <a0></a0>, NestedRepeater yazın ve Aç ' ı tıklatın.
Yeni Web formu oluşturulur. Tasarım görünümü içinde tümleşik geliştirme ortamı (IDE), Microsoft Visual Studio. NET'in açılır. Araç, Repeater denetimi seçin ve ardından Web formu sayfaya sürükleyin.
Bu Repeater denetimin <a1>KIMLIK</a1> özelliğini parentRepeater için değiştirin.
Bu Web Form için <a2>HTML</a2> görünümüne geçin. Bunu yapmak için <a0></a0>, Tasarımcı sol alt köşesindeki <a2>HTML</a2> sekmesini tıklatın. Aşağıdaki HTML kodu Repeater denetimi oluşturur:
Solution Explorer'da (Çözüm Gezgini), NestedRepeater.aspx ' ı sağ tıklatın ve sonra da NestedRepeater.aspx.cs arka planda kodlama dosyaya geçiş yapmak için Kod Görüntüle ' yi tıklatın.
Aşağıdaki ad alanı bildirimi dosyasının en üstüne ekleyin:
using System.Data;
using System.Data.SqlClient;
Page_Load olayı pubs veritabanına bir bağlantı oluşturmak için aşağıdaki kodu ekleyin ve sonra yazarlar tablosunu Repeater denetime bağlamak için:
public void Page_Load(object sender, EventArgs e)
{
//Create the connection and DataAdapter for the Authors table.
SqlConnection cnn = new SqlConnection("server=(local);database=pubs; Integrated Security=SSPI");
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);
//Create and fill the DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"authors");
//Insert code in step 4 of the next section here.
//Bind the Authors table to the parent Repeater control, and call DataBind.
parentRepeater.DataSource = ds.Tables["authors"];
Page.DataBind();
//Close the connection.
cnn.Close();
}
Not: veritabanı bağlantı dizesi ortamınıza uygun şekilde değiştirmeniz gerekebilir.
Tüm dosyaları kaydedin.
Solution Explorer the NestedRepeater.aspx'ı sağ tıklatın ve sonra da Başlangıç sayfası olarak ayarla'yı tıklatın.
Yapı) menüsünde Proje derlemeye Build Solution ' ı tıklatın.
.Aspx sayfası tarayıcıda görüntülemek ve sayfayı böylece kadar çalıştığını doğrulayın.
Aşağıdaki sayfa yönergesi, sayfanın en üstüne ekleyin:
<%@ Import Namespace="System.Data" %>
Arka planda kodlama sayfasında aşağıdaki satırda
//Insert code in step 4 of the next section here.
yerine aşağıdaki kodu:
//Create a second DataAdapter for the Titles table.
SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
cmd2.Fill(ds,"titles");
//Create the relation between the Authors and Titles tables.
ds.Relations.Add("myrelation",
ds.Tables["authors"].Columns["au_id"],
ds.Tables["titles"].Columns["au_id"]);
This adds the Titles Table to the DataSet, and then adds the relationships Between the Authors and Titles Tables.
Kaydedin ve bu uygulamayı derleyin.
Sayfayı tarayıcıda görüntülemek ve sayfayı şu ana kadar çalışır durumda olduğundan emin olmak. Çıktı aşağıdaki gibi görünmelidir:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NestedRepeater
{
public class NestedRepeater : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Repeater parentRepeater;
public NestedRepeater()
{
Page.Init += new System.EventHandler(Page_Init);
}
public void Page_Load(object sender, EventArgs e)
{
//Create the connection and DataAdapter for the Authors table.
SqlConnection cnn = new SqlConnection("server=(local);database=pubs; Integrated Security=SSPI ;");
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);
//Create and fill the DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"authors");
//Create a second DataAdapter for the Titles table.
SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
cmd2.Fill(ds,"titles");
//Create the relation bewtween the Authors and Titles tables.
ds.Relations.Add("myrelation",
ds.Tables["authors"].Columns["au_id"],
ds.Tables["titles"].Columns["au_id"]);
//Bind the Authors table to the parent Repeater control, and call DataBind.
parentRepeater.DataSource = ds.Tables["authors"];
Page.DataBind();
//Close the connection.
cnn.Close();
}
private void Page_Init(object sender, EventArgs e)
{
InitializeComponent();
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
}
}
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:306154
(http://support.microsoft.com/kb/306154/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.