Jump to content

DataSource


dianaemanuel
 Share

Recommended Posts

Bons dias,

Eu tenho uma duvida relativamente a uma listview e vários datasource.

No meu projecto tenho uma listview em forma de grid que está ligada a um sqlDataSource, mas nesta listview eu acrescentei colunas através do código source e agora quero ligar estas colunas a outros campos de uma outra tabela (ou seja, de outro sqlDataSource), será que isto é possivel?

Fico a aguardar resposta.

Cumprimentos

dianaemanuel

Link to comment
Share on other sites

Mas eu na minha ListView inseri uma TextBox e um DropDownList a uma das colunas, através do código source, a textbox em principio não será possivel ligar a um sqldatasource diferente a não ser o que está na listview, mas o dropdownlist já é possinel, não é? Através da propriedade DataSourceID.

Mas como é que eu consigo dazer com que o meu sqldatasource esteja ligado a mais do que uma tabela? É porque as colunas que eu acrescentei estão em tabelas diferentes da que está no sqlDataSource original.

cumprimentos

dianaemanuel

Link to comment
Share on other sites

Sendo assim o caso já muda de figura, não estou muito bem dentro do asp, mas a ideia  geral deve ser a mesma...

Se podes definir uma datasource diferente para a DropDownList (DDL), deves defini-la, depois tens de definir três propriedades:

1 - Qual o campo do novo datasource que deves mostrar (DataTextField)

2 - Qual o campo que está relacionado com a outra tabela, normalmente numérico (DataValueField)

3 - Qual o campo do datasource original que faz a ligação a este segundo Datasource (não estou a ver qual seja a propriedade)

E se estiver tudo correcto, deve funcionar...

Link to comment
Share on other sites

Isso já consegui fazer só que o meu problema é:

-> As colunas que acrescentei na ListView não são campos do DataSource que está ligado á ListView;

-> As colunas que acrescentei quero que estejam ligados a a uma tabela que contenha estes campos;

-> Quero que mostre na ListView estes campos preenchidos;

-> Quando insiro uma nova linha na List quero que guarde estes campos que foram acrescentados na tabela que contem estes campos, que no caso não é a mesma que a tabela do ListView.

Não sei se estou a fazer me entender??

Eu tenho estado a pesquisar e acho que tem que ser feito através dos comandos do sql o insert e o select.

Cumprimentos

dianaemanuel

Link to comment
Share on other sites

Não tenho a certeza...  🙂

Tens uma lista com dados da Source1, adicionas novas colunas da Source2. Existe alguma relação entre as duas Sources?

Já agora se pudesses dizer as querys de cada uma das sources, se calhar, era mais fácil entender e tentar solucionar depois.

Link to comment
Share on other sites

Sim eu tenho uma ListView ligada a 1 datasource, depois acrescentei 2 colunas, cada 1 ligada a um datasource diferente.

Ainda só estou a testar para uma coluna:

<asp:DropDownList ID="ddlperiodobalanço" runat="server" DataSourceID="SqlDataSource3" DataTextField="CodigoConta" DataValueField="CodigoConta"/>
                        <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionASPX %>" ProviderName="<%$ ConnectionStrings:ConnectionASPX.ProviderName %>" 
                            SelectCommand="SELECT [CodigoConta] FROM [PlanoContas]"></asp:SqlDataSource>

Não sei se este código ajuda em alguma coisa, porque o que está aqui está a fazer bem, o problema é quando é pa inserir em outro campo de outra tabela.

Link to comment
Share on other sites

Aqui está o código do InsertItemTemplate do ListView

<InsertItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                            Text="Insert" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                            Text="Clear" />
                    </td>
                    <td>
                         </td>
                     <td>
                        <asp:TextBox ID="IDTextBox" runat="server" 
                            Text='<%# Bind("ID") %>' Width="120" />   
                    </td>
                    <td>
                        <asp:TextBox ID="CodigoContasTextBox" runat="server" 
                            Text= ????? Width="120" />
                         <asp:DropDownList ID="ddlccbalanço" runat="server" DataSourceID="SqlDataSource3" DataTextField="CodigoConta"    DataValueField="CodigoConta"/>
                         <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionASPX %>" ProviderName="<%$ ConnectionStrings:ConnectionASPX.ProviderName %>" 
                            SelectCommand="SELECT [CodigoConta] FROM [PlanoContas]"></asp:SqlDataSource>   
                    </td>
                     <td>
                        <asp:TextBox ID="TextBoxperiodobalanço" runat="server" 
                            Text=?????? />
                        <asp:DropDownList ID="ddlperiodobalanço" runat="server" DataSourceID="SqlDataSource4" DataTextField="periodo"    DataValueField="periodo"/>
                        <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionASPX %>" ProviderName="<%$ ConnectionStrings:ConnectionASPX.ProviderName %>" 
                            SelectCommand="SELECT [periodo] FROM [balanço]"   
                            </asp:SqlDataSource>
                    </td>


Eu quero que:

-> na TextBox ID="CodigoContasTextBox" aparece aquilo que escolhi da DropDownList ID="ddlccbalanço";

-> depois aquilo que seleccionei da DropDownList ID="ddlccbalanço" quero que esse valor escolhido seja gravado em outra tabela;

-> na TextBox ID="TextBoxperiodobalanço" apareça o que escolhi do DropDownList ID="ddlperiodobalanço";

-> e que seja gravado em outra tabela;

-> Ou seja, aquilo que insiro aqui quero que seja gravado em outras tabelas pelo menos estes dois campos, mas também quero que depois de gravados eles sejam vistos nesta ListView.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.