/ / this.bind () używa tylko pierwszego zestawu danych, a nie drugiego - c #, asp.net, zestaw danych

this.bind () używa pierwszego zestawu danych, a nie drugiego - c #, asp.net, dataset

Mam problem z tym, że chcę powiązać zestaw danych z etykietami w formie aspx z kodu z tyłu i używam 2 zestawów danych w funkcji, ale problem polega na tym, że wiąże on tylko pierwszy zestaw danych.

Mój kod wygląda następująco:

 private void fill()
{
DateTime dat;
if (txtDate.Text == "")
dat = DateTime.Now;
else
dat = DateTime.ParseExact(txtDate .Text , "M/d/yyyy", null);

rtbl.LoadRoomTypes(_ds, SessionContext.PropertyID,dat);
dlDashBoard.DataSource = _ds.Tables[rtbl.SqlEntityX];
dlDashBoard.DataBind();

foreach(DataListItem item in dlDashBoard .Items )
{

BindNestedItem(item.ItemIndex );


}
_ds = null;
RoomTypeBAL rtbl1 = new RoomTypeBAL(0);


rtbl1.LoadTotalFree(_ds3, SessionContext.PropertyID, dat);
if(_ds3 !=null && _ds3.Tables[rtbl1 .SqlEntityX ].Rows.Count >0)
this.DataBind();//Problem is here binding _ds always but I want to bind _ds3

}

Moje źródło jest takie:

<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="FreeRooms :"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom1" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom1"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom2" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom2"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom3" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom3"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom4" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom4"].ToString()%>"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom5" runat="server" Text="<%#_ds3.Tables[0].Rows[0]["tfreeroom5"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="lblfreeRoom6" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom6"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tfreeroom7"].ToString() %>"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="Arrivals :"></asp:Label>
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tarrival1"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tarrival2"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label6" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tarrival3"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label7" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tarrival4"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label8" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tarrival5"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label9" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tarrival6"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label10" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tarrival7"].ToString() %>"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label11" runat="server" Text="CheckOuts :"></asp:Label>
</td>
<td>
<asp:Label ID="Label12" runat="server" Text="<%# _ds3.Tables[0].Rows[0]["tcheckout1"].ToString()%>"></asp:Label>
</td>
<td>
<asp:Label ID="Label13" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout2"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label14" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout3"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label15" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout4"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label16" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout5"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label17" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout6"].ToString() %>"></asp:Label>
</td>
<td>
<asp:Label ID="Label18" runat="server" Text="<%#  _ds3.Tables[0].Rows[0]["tcheckout7"].ToString() %>"></asp:Label>
</td>
</tr>
</table>

Odpowiedzi:

0 dla odpowiedzi № 1

Cześć, myślę, że musisz zresetować swoje DataSource, this.DataBind () odwołuje się do ds_

if(_ds3 !=null && _ds3.Tables[rtbl1 .SqlEntityX ].Rows.Count >0)
dlDashBoard.DataSource = _ds3.Tables[rtbl.SqlEntityX];
dlDashBoard.DataBind();

0 dla odpowiedzi nr 2

Przede wszystkim naprawdę polecam zmianędo gridview zamiast używania tabeli z wieloma wbudowanymi etykietami, które są naprawdę trudne do zarządzania. Możesz mieć tę samą funkcjonalność i dużo korzystać z kontroli GridView, a nie robić to ręcznie.

Jeśli chodzi o twój problem - musisz ustawić DataSource przed wykonaniem DataBind (). Skąd klasa ma wiedzieć, z którym źródłem się połączyć, jeśli nie powiesz tego?


0 dla odpowiedzi № 3

Mam to, że muszę ogłosić _ds3 jako publiczny