bonjour
je réalise un petit projet.
en gros j'ai 3 champs textbox et un gridview.
les 3 champs servent a filtrer le gridview. mais prend en compte que le user ne sait pas forcement la valeur qu'il doit rentrer dnas les 3 champs.
normalement je devrais donc creer plusieurs filtre et donc plusier sqldatasource, mais je ne trouve pas ca super...
donc je definit les filtre dans le code behind avec des if else avec comme condition textbox.text=="" alors on ne prend pas compte le filtre.
le probleme est que je définis donc les sqlsource.selectcommand dans le code behind puisque en fonction des text box que le user rentre la clause WHERE de la requete sera plus ou moins complete.
eh donc en gros si j'ai bien compris la pagination et le sorting ne marche pas, puisque ils ne sont pas lier dnas le code in-line.
et donc quand je veux passer a la page 2 de mon data grid ben il y a rien dutout. c'ets un peu embettant.
j'ai essayer de redéfinir la pagination dans le code behind avec les évènement pageindexchanging mais ca marche pas...
Voici mon code behind
et mon code in-line
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 protected void Button1_Click3(object sender, EventArgs e) { // SqlDataSource1.SelectParameters.Clear(); //SqlDataSource1.SelectCommand = ""; if (TextBox1.Text != "" && TextBox2.Text !="" && TextBox3.Text != "") { SqlDataSource1.SelectParameters.Add("TVA", TypeCode.String, TextBox1.Text); SqlDataSource1.SelectParameters.Add("NACE", TypeCode.String, TextBox2.Text); SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text); SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [codep], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([TVA] = @TVA) AND ([NACE] = @NACE) AND ([CODEp] = @CODEp))"; } else { if (TextBox1.Text == "" && TextBox2.Text != "" && TextBox3.Text != "") { SqlDataSource1.SelectParameters.Add("NACE", TypeCode.String, TextBox2.Text); SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text); SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE ( ([NACE] = @NACE) AND ([CODEp] = @CODEp))"; } else { if (TextBox1.Text == "" && TextBox2.Text == "" && TextBox3.Text != "") { SqlDataSource1.SelectParameters.Add("CODE", TypeCode.String, TextBox3.Text); SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([CODEp] = @CODEp))"; } else { if(TextBox1.Text != "" && TextBox2.Text == "" && TextBox3.Text == "") { SqlDataSource1.SelectParameters.Add("TVA", TypeCode.String, TextBox1.Text); SqlDataSource1.SelectCommand = "SELECT [NUM], [TVA], [NACE], [ANNEE], [CP], [PATRON], [ADRESSE], [LOCALITE], [CODEp], [A_20_28], [A_20] FROM [BIL_2007] WHERE (([TVA] = @TVA))"; } } } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <asp:GridView ID="GridView2" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None" onpageindexchanging="GridView2_PageIndexChanging" > <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <Columns> <asp:BoundField DataField="NUM" HeaderText="NUM" SortExpression="NUM" /> <asp:BoundField DataField="TVA" HeaderText="TVA" SortExpression="TVA" /> <asp:BoundField DataField="NACE" HeaderText="NACE" SortExpression="NACE" /> <asp:BoundField DataField="ANNEE" HeaderText="ANNEE" SortExpression="ANNEE" /> <asp:BoundField DataField="CP" HeaderText="CP" SortExpression="CP" /> <asp:BoundField DataField="PATRON" HeaderText="PATRON" SortExpression="PATRON" /> <asp:BoundField DataField="ADRESSE" HeaderText="ADRESSE" SortExpression="ADRESSE" /> <asp:BoundField DataField="LOCALITE" HeaderText="LOCALITE" SortExpression="LOCALITE" /> <asp:BoundField DataField="CODE" HeaderText="CODE" SortExpression="CODE" /> <asp:BoundField DataField="A_20_28" HeaderText="A_20_28" SortExpression="A_20_28" /> <asp:BoundField DataField="A_20" HeaderText="A_20" SortExpression="A_20" /> </Columns> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#999999" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView>
merci de bien vouloir m'aider
Partager