Ändern Gridview " Datasource mithilfe von ASP .NET SQLDATASOURCE
ich habe ein gridview-Steuerelement automatisch die Verbindung mit sqldatasource1, etc. Für die Gitter habe ich auch eine Suche Textfeld, Wenn der Benutzer benötigt, um filter die Datensätze, die er fordert, eine andere ((sqldatasource2-ein weiterer procuder)), und stellen Sie es in der gleichen gridview ..,so muss ich ändern das gridView.datasourceID an die anderen sqldatasource onclick einer Schaltfläche.
Hinweis :
sqldatasource1 und sqldatasource2 Rückkehr am selben Abfragen ,
den procuder von sqldatasource1 :
create proc AfficheDossiers
@Nom_GIAC varchar(50)
as
begin
select [ID_Dossier] as 'ID_Dossier'
,[ID_Entreprise] as 'ID_Entreprise'
,[Date_Depot] as 'Date_Dépôt'
,[Type_Etude] as 'Type_Etude'
,[Dernier_Type] as 'Dernier_Type'
,[Eligibile] as 'Eligibilité'
,[Fiche_Information] as 'Fiche_Information'
,[Buletin_Adhesion] as 'Bulletin_d’adhésion'
,[Fiche_Renseignment] as 'Fiche_Renseignment'
,[Attestation] as 'Attestation'
,[Date_Debut] as 'Date_Début'
,[Date_Fin] as 'Date_Fin'
,[ID_Cabinet] as 'ID_Cabinet'
,[Montant_Demander] as 'Montant_Demander'
,[Duree] as 'Durée'
,[Porcentage_Taux] as 'Pourcentage,Taux' from Dossier where Nom_Giac = @Nom_GIAC
end
den procuder von sqldatasource2((searche) :
alter proc rechercherGIAC @nomgiac varchar(20),@nom varchar(30),@par varchar(50)
as
begin
if @nom='CNSS'
begin
select d.[ID_Dossier] as 'ID_Dossier'
,d.[ID_Entreprise] as 'ID_Entreprise'
,[Date_Depot] as 'Date_Dépôt'
,[Type_Etude] as 'Type_Etude'
,[Dernier_Type] as 'Dernier_Type'
,[Eligibile] as 'Eligibilité'
,[Fiche_Information] as 'Fiche_Information'
,[Buletin_Adhesion] as 'Bulletin_d’adhésion'
,[Fiche_Renseignment] as 'Fiche_Renseignment'
,[Attestation] as 'Attestation'
,[Date_Debut] as 'Date_Début'
,[Date_Fin] as 'Date_Fin'
,[ID_Cabinet] as 'ID_Cabinet'
,[Montant_Demander] as 'Montant_Demander'
,[Duree] as 'Durée'
,[Porcentage_Taux] as 'Pourcentage,Taux'
from dbo.Dossier d inner join entreprise e on d.ID_Entreprise=e.ID_Entreprise
where CNSS_Entreprise=@par and d.Nom_Giac=@nomgiac
end
else if @nom='RS'
begin
select [ID_Dossier] as 'ID_Dossier'
,[ID_Entreprise] as 'ID_Entreprise'
,[Date_Depot] as 'Date_Dépôt'
,[Type_Etude] as 'Type_Etude'
,[Dernier_Type] as 'Dernier_Type'
,[Eligibile] as 'Eligibilité'
,[Fiche_Information] as 'Fiche_Information'
,[Buletin_Adhesion] as 'Bulletin_d’adhésion'
,[Fiche_Renseignment] as 'Fiche_Renseignment'
,[Attestation] as 'Attestation'
,[Date_Debut] as 'Date_Début'
,[Date_Fin] as 'Date_Fin'
,[ID_Cabinet] as 'ID_Cabinet'
,[Montant_Demander] as 'Montant_Demander'
,[Duree] as 'Durée'
,[Porcentage_Taux] as 'Pourcentage,Taux'
from dbo.Dossier
where Nom_Giac=@nomgiac and ID_Entreprise in( select ID_Entreprise
from dbo.Entreprise
where Raison_Social=@par)
end
else if @nom ='Date'
begin
declare @v smalldatetime,@b smalldatetime
set @b=SUBSTRING(@par,1,4)
set @v=SUBSTRING(@par,5,8)
select [ID_Dossier] as 'ID_Dossier'
,[ID_Entreprise] as 'ID_Entreprise'
,[Date_Depot] as 'Date_Dépôt'
,[Type_Etude] as 'Type_Etude'
,[Dernier_Type] as 'Dernier_Type'
,[Eligibile] as 'Eligibilité'
,[Fiche_Information] as 'Fiche_Information'
,[Buletin_Adhesion] as 'Bulletin_d’adhésion'
,[Fiche_Renseignment] as 'Fiche_Renseignment'
,[Attestation] as 'Attestation'
,[Date_Debut] as 'Date_Début'
,[Date_Fin] as 'Date_Fin'
,[ID_Cabinet] as 'ID_Cabinet'
,[Montant_Demander] as 'Montant_Demander'
,[Duree] as 'Durée'
,[Porcentage_Taux] as 'Pourcentage,Taux'
from Dossier
where Date_Depot between @b and @v and Nom_Giac like @nomgiac
end
end
dies ist der Suchtext und die Schaltfläche :
Saisir la CNSS :
<asp:TextBox ID="CNSSTxt" class="TXTBOX" runat="server" Height="23px" placeholder="CNSS" style="font-family : Comic Sans MS, Arial, Tahoma; color:Red;"></asp:TextBox>
<asp:Button ID="BtnFiltrerCNSS" runat="server" Text="Filtrer" class="BTN" style="font-variant:small-caps;" />
dies ist die gridview :
<div class="GridViewDiv">
<asp:UpdatePanel ID="DossierUpdatePanel" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:SqlDataSource ID="Dossier" runat="server"
ConnectionString="<%$ ConnectionStrings:OfficeConnectionString %>"
SelectCommand="AfficheDossiers" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter Name="Nom_GIAC" SessionField="Nom_GIAC" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="RechercheDossierDS" runat="server"
ConnectionString="<%$ ConnectionStrings:OfficeConnectionString %>"
SelectCommand="rechercherGIAC" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter Name="nomgiac" SessionField="Nom_GIAC" Type="String" />
<asp:ControlParameter ControlID="RecherhcerComboBox" Name="nom"
PropertyName="SelectedValue" Type="String" />
<asp:SessionParameter Name="par" SessionField="Recherche" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="DossierGV" runat="server" AllowPaging="True" AllowSorting="True"
DataSourceID="Dossier" AutoGenerateColumns="False" DataKeyNames="ID_Dossier">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ID_Dossier" HeaderText="ID_Dossier" ReadOnly="True"
SortExpression="ID_Dossier" />
<asp:BoundField DataField="ID_Entreprise" HeaderText="ID_Entreprise"
SortExpression="ID_Entreprise" />
<asp:BoundField DataField="Date_Dépôt" HeaderText="Date_Dépôt"
SortExpression="Date_Dépôt" />
<asp:BoundField DataField="Type_Etude" HeaderText="Type_Etude"
SortExpression="Type_Etude" />
<asp:BoundField DataField="Dernier_Type" HeaderText="Dernier_Type"
SortExpression="Dernier_Type" />
<asp:BoundField DataField="Eligibilité" HeaderText="Eligibilité"
SortExpression="Eligibilité" />
<asp:BoundField DataField="Fiche_Information" HeaderText="Fiche_Information"
SortExpression="Fiche_Information" />
<asp:BoundField DataField="Bulletin_d’adhésion" HeaderText="Bulletin_d’adhésion"
SortExpression="Bulletin_d’adhésion" />
<asp:BoundField DataField="Fiche_Renseignment" HeaderText="Fiche_Renseignment"
SortExpression="Fiche_Renseignment" />
<asp:BoundField DataField="Attestation" HeaderText="Attestation"
SortExpression="Attestation" />
<asp:BoundField DataField="Date_Début" HeaderText="Date_Début"
SortExpression="Date_Début" />
<asp:BoundField DataField="Date_Fin" HeaderText="Date_Fin"
SortExpression="Date_Fin" />
<asp:BoundField DataField="ID_Cabinet" HeaderText="ID_Cabinet"
SortExpression="ID_Cabinet" />
<asp:BoundField DataField="Montant_Demander" HeaderText="Montant_Demander"
SortExpression="Montant_Demander" />
<asp:BoundField DataField="Durée" HeaderText="Durée" SortExpression="Durée" />
<asp:BoundField DataField="Pourcentage,Taux" HeaderText="Pourcentage,Taux"
SortExpression="Pourcentage,Taux" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
Irgendwelche Hinweise?
Dank,
- können Sie zeigen einige code hinter? abgesehen von deiner Abfragen? wo binden Sie Ihre datasource, was in der Schaltfläche click-Methode..
- ich update meine Frage ^^
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der onclick-button-event setzen Sie einfach
Dann rufen Sie die
Lassen Sie mich wissen, wenn dies ist, was Sie brauchen.
Wenn Sie visual studio 2010 verwenden, müssen Sie klicken Sie auf Ihre .aspx-Datei, und klicken Sie dann auf design-Ansicht in der rechten unteren Ecke des Fensters. Dieser lädt ein mock-up auf Ihrem Bildschirm und können Sie doppelklicken Sie einfach auf die Schaltfläche, die Sie möchten das click-Ereignis. Es wird dann eine Umleitung zu der code-behind - (.aspx.cs-Datei). In dieser Methode ist, wo Sie brauchen, zu schreiben.
Ich sage das nur jetzt, weil ich sehe, dass Ihre Schaltfläche hat keine onclick="methodName" - Eigenschaft
Können Sie geben Sie die Datenquelle im code-behind-je nach Zustand.