0
私は3日間これを見てきましたので、どうかフィードバックをいただければ幸いです。 私は期待されたデータをプルする親リピータを持っていますが、子リピータをネストしようとしています。コントロールを見つけてデータを取り込みます。これまでのところそれはうまくいきませんでした。いくつかの理由で、以下のネストされたリピータは、適切なデータを表示するために選択されていません。 提案がありますか?C#入れ子のリピータが動作しません
Asp.Netコードはここにある:
の1-リピータが親リピータでもハンドラにする必要ItemDataBound:私はそれを解決し
<asp:Repeater ID="EquipmentRepeater" runat="server" OnItemDataBound="Repeater2_ItemDataBound" >
<ItemTemplate>
<b>Equipment:</b>
<%# DataBinder.Eval(Container.DataItem, "Equip") %>
<%# DataBinder.Eval(Container.DataItem, "Location") %>
</ItemTemplate>
</asp:Repeater>
protected void Repeater2_ItemDataBound(object sender System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
SqlConnection con = new SqlConnection(ConString);
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater Repeater2 = (Repeater)e.Item.FindControl("EquipmentRepeater");
System.Data.DataTable ds = new System.Data.DataTable();
SqlCommand cmd1 = new SqlCommand(" Select HourID, Equip,Location FROM Equip where [email protected]");
cmd1.Parameters.Add("@id", SqlDbType.Int).Value = id;
con.Open();
cmd1.Connection = con;
cmd1.ExecuteReader();
con.Close();
SqlDataAdapter ad = new SqlDataAdapter(cmd1);
// DataTable ds = new DataTable();
ad.Fill(ds);
con.Close();
//Need to assign the Data in datatable
Repeater2.DataSource = ds;
Repeater2.DataBind();
}
}
あなたのコードは、同じリピータを再投入しようとします。あなたの*入れ子*リピーターはどこですか? –
'EquipmentRepeater'がネスト化されたRepeaterである場合、それ自身のItemDataBoundイベントでデータをバインドしようとしています。親Repeaterのイベントを使用する必要があります。 – VDWWD
あなたは正しいですが、ItemDataBoundを親リピータのイベントに変更しましたが、それでもまだデータが入力されていません。子リピータコントロールが見つからないようです。私は親のリピータでGridViewをネストしようとしましたが、幸運はありませんでした。 – user5711432