Gridview

Signaler
Messages postés
37
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
18 octobre 2009
-
Messages postés
37
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
18 octobre 2009
-
bonjour,
voila je debute en asp.net mais j ai de solide connaissance en asp classique je suis un peux derouter
masi bon voila
j ai construit un site (la partie design avec des page maitre)
une de ces page contient un grid view
et un button :
le gridview liste tout les membre de mon association avec le pagin et le sort activer
mon bouton doit lui renvoyer a la connection qu'il veux lister que les membres de la ville de toulouse.
tout marche nikel quand j appuie sur le bouton mais des que je veux appuyer a la fin du gridview pour passer a la deuxieme page
vlam il me remet l ancienne requette ou tout les membres ont lister voila mon code :

ma page aspx
--------------------------------------------->
<

div>

<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:hConnexion1 %>
"

ProviderName="<%$ ConnectionStrings:hConnexion1.ProviderName %>
"
SelectCommand="SELECT [NOM], [PRENOM], [ADR1], [ADR_NUMERO],  [CPOSTAL], [VILLE], [TEL] FROM [ADHERENTS]">

</asp:SqlDataSource>

</div>

<asp:GridView
ID="GridView1"
runat="server"
AllowPaging="True"
AllowSorting="True"

AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundField
DataField="NOM"
HeaderText="NOM"
SortExpression="NOM"
/>

<asp:BoundField
DataField="PRENOM"
HeaderText="PRENOM"
SortExpression="PRENOM"
/>

<asp:BoundField
DataField="ADR1"
HeaderText="ADR1"
SortExpression="ADR1"
/>

<asp:BoundField
DataField="ADR_NUMERO"
HeaderText="ADR_NUMERO"
SortExpression="ADR_NUMERO"
/>

<asp:BoundField
DataField="CPOSTAL"
HeaderText="CPOSTAL"
SortExpression="CPOSTAL"
/>

<asp:BoundField
DataField="VILLE"
HeaderText="VILLE"
SortExpression="VILLE"
/>

<asp:BoundField
DataField="TEL"
HeaderText="TEL"
SortExpression="TEL"
/>

</Columns>

</asp:GridView>

<asp:Button
ID="Button1"
runat="server"
Text="Button"
/>
<----------------------------------code behind

Partial

Class Default3

Inherits System.Web.UI.Page

Protected
Sub Button1_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs) Handles Button1.ClickSqlDataSource1.SelectCommand "SELECT * FROM ADHERENTS where ville'toulouse'"

End
SubEnd

Class

quelqun peux m'aider on me donner un exemple de code
en asp j aurais passer la variable viaquerystring ou form mais la je sais vraiment pas je bloque.

j ai essayer de monter un dataset via code behind mais dans ce cas le paging ne fonctionne plus.
merci de votre aide je suis vraiment pommer.

5 réponses

Messages postés
25
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
1 février 2008

Bonjour, je suis aussi un debutant, mais je te demande est ce que tu utilise "this.DataBind()" pour rafréchir ton grid view aprés chaque modification ou opération sur le GridView.
Messages postés
37
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
18 octobre 2009

franchement non enfin non le code est en entier la haut
pourrais tu m eguiller sur la facon de modifier la requete sql

via un button. merci de ton aide je me sent moins seul....
Messages postés
37
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
18 octobre 2009

voila je shematise se que je veux faire
page1.aspx
2 boutons + 1 gridview
quand on arrive sur la page le gridview est cacher car je le fournie avec une commande sql qui retourne aucun resultat
le bouton 1 doit changer cette commande sql avec un nom de ville qui doit recharger le gridview
le bouton 2 idem mais avec une autre ville

en asp je faisait passer cette commande par querystring en aspx c est koi la methode ???

je viens de construire un sqladapter + dataset en code behind qui fournis bien mon gridview
voici le code :

code behind:
------------------------------------------------------------------------>
Imports

DataSet1TableAdapters
Partial

Class allProducts

Inherits System.Web.UI.Page

Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs) _

Handles
Me.Load

Dim ADHERENTSAdapter
As
New ADHERENTSTableAdapterGridView2.DataSource = ADHERENTSAdapter.GetDataByville(

"toulouse")GridView2.DataBind()

End
Sub

Protected
Sub Button1_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

Dim ADHERENTSAdapter
As
New ADHERENTSTableAdapterGridView2.DataSource = ADHERENTSAdapter.GetData()

GridView2.DataBind()

End
SubEnd

Class
--------------------------------------------------------------->

code page 1
je met juste la partie du gridview

<

asp:GridViewID="GridView2"runat="server"CssClass

"DataWebControlStyle"AllowPaging"True"><

HeaderStyleCssClass="HeaderStyle"/><

AlternatingRowStyleCssClass="AlternatingRowStyle"/></

asp:GridView>

&nbsp;<br
/>

<asp:Button
ID="Button1"
runat="server"
Text="Button"
/></p>

-------------------------------------------------------------------------->

voila quand je lance la page le gridview marche nikel il me retourne tout les adherent de toulouse
quand j appuie sur le bouton pareil sa marche nikel sa me retourne tout les adherent

mais des que j"utilise le paging il me resort une erreur
The GridView 'GridView2' fired event PageIndexChanging which wasn't handled.]

avez vous une idee j ai tout essayer je vois pas
par contre esceque je procede normalement dans ma demarche de passage de parametre sql ?
si no pouvez-vous m indiquer une autre methode
merci pour tout.
Messages postés
25
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
1 février 2008

pour moi, je te conseil d'utiliser une procedur stocké un fichier ".cs" , c'est tune classe qui a une fonction qui prend en parametre une variable ville, et a chaque bouton tu declare une variable tu lui affecte la ville que tu veux aprés tu appele ta fonction.

c'est deconseiller d'écrire le code sql dans le code, essay de le fair dans la base et appel le
je te donne un exemple en c#

public DataTable GetBoq(string TRIGRAM)
        {
            try
            {
                DataTable DataTable = new DataTable();
                OracleConnection chaine = cwt_package.connexion.connectString("user", "pswd");

                OracleCommand command = new OracleCommand("pa_boq.GetBOQ", chaine);//pa_bog est un packege dans oracle et GetBoq c ma procedure.
                command.CommandType = CommandType.StoredProcedure;

                OracleParameter TrigProject = new OracleParameter("TrigProject", OracleDbType.Varchar2);
                TrigProject.Direction = ParameterDirection.Input;
                TrigProject.Value = TRIGRAM;// c mon parametre
                command.Parameters.Add(TrigProject);

                OracleParameter cur = new OracleParameter("cur", OracleDbType.RefCursor);
                cur.Direction = ParameterDirection.Output;
                command.Parameters.Add(cur);
                chaine.Open();
                OracleDataAdapter adapter = new OracleDataAdapter(command);
                adapter.Fill(DataTable);
                return DataTable;
                chaine.Close();
            }
            catch (OracleException ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }//fin GetBoq()
Messages postés
37
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
18 octobre 2009

merci beaucoup
voila mon code qui marche niquel  si sa peux aider certain
grid view lier avec un menu deroulant et un bouton.
pour les requetes j ai fait avec vstudio 2005 j ai cree des query dans des dataset que j appelle dans la page (bonne solution ?)
(appart quand je veux changer de page dans le gridview j ai une erreur mais apparament cest tout le monde et je suis en train d etudier la methode)

code behind :-------------------->

Imports

DataSet1TableAdapters
Partial

Class allProducts

Inherits System.Web.UI.Page

Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs) _

Handles
Me.Load

If
Not IsPostBack
ThenChargerlistedepartement()

chargerdatagrid()

End
If

End
Sub 

Sub Chargerlistedepartement()

Dim ADHERENTSAdapter
As
New ADHERENTSTableAdapterlistedepartement.DataSource = ADHERENTSAdapter.GetDatadistville()
listedepartement.DataValueField "VILLE"listedepartement.DataTextField

"VILLE"listedepartement.DataBind()

End
Sub

Sub chargerdatagrid()

Dim ADHERENTSAdapter
As
New ADHERENTSTableAdapter

Dim departementID
As
StringdepartementID = listedepartement.SelectedItem.Value

GridView2.DataSource = ADHERENTSAdapter.GetDataByville(departementID)

GridView2.DataBind()

 

End
Sub

Protected
Sub Onchangeville(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles listedepartement.SelectedIndexChangedchargerdatagrid()

End
Sub

Protected
Sub Button1_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

Dim ADHERENTSAdapter
As
New ADHERENTSTableAdapterGridView2.DataSource = ADHERENTSAdapter.GetDataByville(

"toulouse")GridView2.DataBind()

End
SubEnd

Classma page aspx ou il y a les combo :--------------------------------->

<

asp:GridView
ID="GridView2"
runat="server"CssClass

="DataWebControlStyle"
AllowPaging="True"><

HeaderStyle
CssClass="HeaderStyle"
/><

AlternatingRowStyle
CssClass="AlternatingRowStyle"
/></

asp:GridView>

&nbsp;&nbsp;<br
/>

<asp:DropDownList
ID="listedepartement"
runat="server"
AutoPostBack="True"
Width="188px"
OnSelectedIndexChanged="Onchangeville">

</asp:DropDownList>

<asp:Button
ID="Button1"
runat="server"
Text="toulouse"
/></p>

<p>je commence a comprendre le systeme .net c est hallucinant la puissance par rapport au bon vieux asp3.0

a la revoyure je mis remet.