8 messaggi dal 07 settembre 2004
www.adba.it
Salve a tutti,
ho cercato in giro , ma non ho trovato una soluzione per gestire due tabelle !?!
il mio problema è gestire:
1) 1à tabella di tre campi di cui 1° campo "area" - 2° campo "subarea" - 3° campo "descrizione".
2) 2à tabella di due o più campi 1° campo "subarea" (legato alla prima tabella) e un 2° campo "descrizione"

come vorrei che vengano visualizzati:
informatica ( tabella 1 subarea=1 )
... mouse .. link (tabella 2 subarea=1)
... monitor .. link (tabella 2 subarea=1)
... tastiera .. link (tabella 2 subarea=1)
cellulari( tabella 1 subarea=2 )
... palmari.. link (tabella 2 subarea=2)
... ecc.. (tabella 2 subarea=2)
monitor (tabella 1 subarea=3)
... lcd.. link (tabella 2 subarea=3)
... ecc.. (tabella 2 subarea=3)

con asp:FormView con AllowPaging="True" posso visualizzare solo una pagina per volta !?! cosa mi consigliate !?! che soluzione posso adottare ?!?
Grazie


<div>
<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource3" AllowPaging="True"
DataKeyNames="sub" >
<ItemTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/angolocorsi.gif" alt="" />
</td>
<td class="area1">
&nbsp;AREA
<asp:Label ID="Label1" runat="server" Text='<%# Bind("corso") %>' />
</td>
</tr>
<tr>
<td colspan="2">
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1" Width="572px">
<ItemTemplate>
corso:
<asp:Label ID="corsoLabel" runat="server" Text='<%# Eval("corso") %>' />
<br />
</ItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td colspan="2" valign="top" align="right">
<img src="images/ombra.png" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:FormView>
<asp:AccessDataSource ID="AccessDataSource3" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT [corso], [sub] FROM [corso]"></asp:AccessDataSource>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT [corso] FROM [area_corsi] WHERE ([SubArea] = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="FormView1" Name="SubArea" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:AccessDataSource>
</div>


Modificato da carminepz il 21 agosto 2009 11.49 -

Carmine
prova a fare una join tra le due tabelle

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
8 messaggi dal 07 settembre 2004
www.adba.it
con formview è possibile visualizzare solo un record per volta ... così funziona ... ma ciò che volevo è diverso.
ho provato ad utilizzare un doppio datalist ma il risultato è deludente, cioè visualizza solo i record del primo datalist ignorando il secondo i record del secondo datalist.
ho fatto così:
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1"
DataKeyField="sub" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" DataMember="DefaultView">
<ItemTemplate>
<asp:Label ID="corsoLabel" runat="server" Text='<%# Eval("corso") %>' />
<br />
<asp:DataList ID="DataList2" runat="server" DataSourceID="AccessDataSource2" >
<ItemTemplate>
<asp:Label ID="corsoLabel" runat="server" Text='<%# Eval("corso") %>' />
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT sub, corso FROM corso"></asp:AccessDataSource>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT area_corsi.corso FROM (area_corsi INNER JOIN corso ON area_corsi.SubArea = corso.sub) WHERE (area_corsi.SubArea = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="DataList1" Name="SubArea" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:AccessDataSource>

dove è l'errore ?

Carmine
no il FormView non è legato alla visualizzazione di una sola tabella.

te gli passi dei dati e lui li visualizza possono provenire anche da mille tabelle.

tutto dipende come passi questi dati.

su aspitalia trovi unao scrito che spiega come creare controlli iterativi (come il DataList) nidificati

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
8 messaggi dal 07 settembre 2004
www.adba.it
mi è difficile interpretare in C# ...
con Repeater ho scritto così-.
<asp:Repeater ID="ParentRepeater" runat="server" DataSourceID="AccessDataSource1">
<HeaderTemplate>
<table border="1">
<tr>
<td>
<b>area</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%#DataBinder.Eval(Container.DataItem, "corso")%><br>
<asp:Repeater ID="CildrenRepeater" runat="server" DataSourceID="AccessDataSource2">
<HeaderTemplate>
<table border="1" bgcolor="red">
<tr>
<td>
<b>corso</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr id="riga" runat="server">
<td>
<%#DataBinder.Eval(Container.DataItem, "corso")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT corso FROM corso"></asp:AccessDataSource>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/App_Data/assop.mdb"
SelectCommand="SELECT area_corsi.corso FROM (area_corsi INNER JOIN corso ON area_corsi.SubArea = corso.sub)">
</asp:AccessDataSource>
il secondo repeater non filtra il valore del record del primo repeater .. ?

Carmine
perche non sa come recuperare il parametro per filtrare.

dove trovi difficile interpretare il C#? in che parte

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
8 messaggi dal 07 settembre 2004
www.adba.it
ci sono ... ho risolto.

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html>
<head>
<title>DataLists</title>

<script language="VB" runat="server">
Sub Page_Load(ByVal Source As Object, ByVal E As EventArgs)
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.mdb;"
Dim MySQL As String = "select * from corso"
Dim MyConn As New OleDbConnection(strConn)
Dim ds As DataSet = New DataSet()
Dim Cmd As New OleDbDataAdapter(MySQL, MyConn)
Cmd.Fill(ds, "corso")
Dim cmd2 As OleDbDataAdapter = New OleDbDataAdapter("select * from area_corsi", MyConn)
cmd2.Fill(ds, "area_corsi")
ds.Relations.Add("myrelation", _
ds.Tables("corso").Columns("SubArea"), _
ds.Tables("area_corsi").Columns("SubArea"))
corso.DataSource = ds.Tables("corso").DefaultView
DataBind()
End Sub

</script>

</head>
<body>
<asp:DataList runat="server" ID="corso" RepeatColumns="1">
<HeaderStyle Font-Names="Arial" Font-Size="14pt"></HeaderStyle>
<ItemTemplate>
<%#Container.DataItem("corso")%>
<br />
<asp:DataList runat="server" ID="ChildDataList" CellPadding="3" DataSource='<%# Container.DataItem.Row.GetChildRows("myrelation") %>'>
<HeaderStyle BackColor="#8080C0" Font-Names="Arial" Font-Size="8pt" />
<ItemTemplate>
&nbsp;
<%#Container.DataItem("corso")%>
<br />
</ItemTemplate>
</asp:DataList>
<asp:Label ID="Label2" runat="server" Text="Label" Visible="false">non presente</asp:Label>
</ItemTemplate>
</asp:DataList>
</body>
</html>

ora ho la necessità di attivare il "Label2" se il secondo datalist non ha nessuna associazione ????
quale comando devo utilizzare ?!?

Carmine

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.