Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dianaemanuel

DataSource

Mensagens Recomendadas

dianaemanuel

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

Não me parece que seja possível...

O melhor que deves fazer é alterar o datasource original alterando a query de modo a devolver-te todas as colunas que desejas utilizar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Exactamente como o r00tfixxxer está a dizer, a Uma listview só podes ter associado um SqlDatasource, Aconselho-te a rever o DataSource por forma de organização e de funcionalidade.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.