Ciao ragazzi ho un problema con un data grid. Ho bisogno di compilarlo prendendo i dati da due View come posso fare?
Questo è il codice del datagrid
codice:
<body MS_POSITIONING="GridLayout">
<form id="CercaClienti" method="post" runat="server">
<asp:label id="AgenteLog" style="Z-INDEX: 136; LEFT: 11px; POSITION: absolute; TOP: 159px" runat="server" Visible="False"></asp:label><asp:literal id="Literal1" runat="server"></asp:literal><asp:datagrid id="dgClienti" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server" Width="552px" BorderColor="Black" BorderStyle="Inset" AutoGenerateColumns="False">
<SelectedItemStyle BackColor="Green"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#FFE0C0"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" BackColor="Sienna"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="CliFor" DataTextField="CliFor" HeaderText="Codice" CommandName="Select">
<ItemStyle Width="50px"></ItemStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="RagSoc" HeaderText="Ragione sociale">
<ItemStyle Width="300px"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Area" HeaderText="Area">
<ItemStyle Width="200px"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Indirizzo" HeaderText="Indirizzo">
<ItemStyle Width="350px"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Cap" HeaderText="C.A.P.">
<ItemStyle Width="350px"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Citta" HeaderText="Città">
<ItemStyle Width="350px"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Provincia" HeaderText="PR">
<ItemStyle Width="350px"></ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:datagrid></form>
</body>
e questo è il codice dell'apertura della mia form con il data grid con la prima view dentro
codice:
Public Function RecuperaClienti() As Boolean
Dim oConn As New SqlConnection(Session("ConnProvStr"))
Dim oComm As New SqlCommand()
Dim oSQLDataAdapter As SqlDataAdapter
Dim Codice As Boolean = True
'Assegno la stringa di ricerca
aCercaStr = HttpContext.Current.Request.QueryString("clifor")
If (IsNothing(aCercaStr)) Then
aCercaStr = HttpContext.Current.Request.QueryString("ragsoc")
Codice = False
End If
'Preparo gli oggetti sql per il recupero dei campi
oComm.Connection = oConn
oComm.CommandType = CommandType.Text
If (AgenteLog.Text = "") Then
AgenteLog.Text = HttpContext.Current.Request.QueryString("agente")
End If
Dim Agente As String
Agente = AgenteLog.Text
If (Codice) Then
oComm.CommandText = "SET DATEFORMAT dmy SELECT * FROM CercaCliAcc WHERE CliFor LIKE '" & aCercaStr & "%' AND Agente = '" + Agente + "'ORDER BY CliFor"
Else
oComm.CommandText = "SET DATEFORMAT dmy SELECT * FROM CercaCliAcc WHERE RagSoc LIKE '" & aCercaStr & "%' AND Agente = '" + Agente + "'ORDER BY RagSoc"
End If
'Apro la connessione
oConn.Open()
'Preparo SQL data adapter
oSQLDataAdapter = New SqlDataAdapter()
oSQLDataAdapter.TableMappings.Add("Table", "CercaCliAcc")
oSQLDataAdapter.SelectCommand = oComm
'inizializzo il dataset per le righe degli ordini
dsClienti = New DataSet("CercaCliAcc")
oSQLDataAdapter.Fill(dsClienti)
'preparo la vista ordinata
Dim dvClienti As DataView
dvClienti = New DataView(dsClienti.Tables("CercaCliAcc"))
If (Codice) Then
dvClienti.Sort = "CliFor ASC"
Else
dvClienti.Sort = "RagSoc ASC"
End If
dgClienti.DataSource = dvClienti
dgClienti.DataBind()
'close connection
oConn.Close()
Return True
End Function
l'altra view che devo inserire è questa
codice:
If (Codice) Then
oComm.CommandText = "SET DATEFORMAT dmy SELECT * FROM CercaCliSedi WHERE CliFor LIKE '" & aCercaStr & "%' AND Agente = '" + Agente + "'ORDER BY CliFor"
else
oComm.CommandText = "SET DATEFORMAT dmy SELECT * FROM CercaCliSedi WHERE RagSoc LIKE '" & aCercaStr & "%' AND Agente = '" + Agente + "'ORDER BY RagSoc"
End If
Come posso fare per visualizzarle tutte e due nello stesso datagrid?
Ci ho già perso parecchio tempo su questa cosa e sinceramente non saprei come risolverla ho provato in tutti i modi....Spero che qualcuno riesca ad aiutarmi....grazie