Bonjour,

Je suis actuellement en train de dévelloper un application Intranet en C# et ASP.NET.

J'aimerai utiliser un gridview pour l'édition et l'ajout dans les tables de la DB.

En ce qui concerne l'édition cela se passe bien mais j'aimerais ajouter un requiredFieldValidator sur les champs sujet a édition pour éviter d'avoir un champs vide lors de la validation. Comment faire ?

Pour ce qui est du footer j'aimerai savoir comment ajouter un textbox et un bouton dans celui-ci. Mais je n'ai rien trouver lors de mes recherches.

Dernière petite chose, Comment éviter le postback lors d'un click sur mon gridview malgré le GridView1.EnableSortingAndPagingCallbacks = false;

Vous trouverez ci-dessous la code de ma page aspx et de son fichier cs.

Merci d'avance pour vos réponses.

Contenu de mon fichier *.aspx

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
    <form runat="server">
 
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:DataSource_cnx  %>" 
            DataSourceMode="DataSet" >
        </asp:SqlDataSource>
 
 
 
        <asp:GridView ID="GridView1" runat="server"
            DataSourceID="SqlDataSource1"
            EmptyDataText="Il n'y a pas d'enregistrement dans cette table"
            RowStyle-HorizontalAlign="Center"
            Width="100%"
        >
 
 
            <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
            <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
            <HeaderStyle BackColor="AppWorkspace" Font-Bold="True" ForeColor="#F7F7F7" />
            <AlternatingRowStyle BackColor="ActiveBorder" />
 
 
 
        </asp:GridView>
 
 
    </form>

Contenu de mon fichier *.aspx.cs

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.Sql;
using System.Data.SqlClient;
 
public partial class Gestion_Seminaire_Niveau_Seminaire : System.Web.UI.Page
{
 
    BoundField boundField;
    CheckBoxField checkBoxField;
    ButtonField buttonField;
 
    String id_key;
 
    List<string[]> list = new List<string[]>();
 
 
    protected void Page_Init(object sender, EventArgs e)
    {
            String id = Request["id"];
 
            switch (id)
                {
                    case "1":
 
                        SqlDataSource1.SelectCommand = "SELECT * FROM niveau_seminaire ORDER BY nivsem_libelle ASC";
                        SqlDataSource1.UpdateCommand = "UPDATE niveau_seminaire SET nivsem_libelle=@nivsem_libelle, nivsem_activer=@nivsem_activer WHERE nivsem_code=@nivsem_code";
 
                        id_key = "nivsem_code";
 
                        list.Add( new String[] { "id", "Identifiant", "nivsem_code" } ); 
                        list.Add( new String[] { "txt", "Libelle", "nivsem_libelle" } );
                        list.Add( new String[] { "boo", "Activer", "nivsem_activer" } );
 
                        define_gridview(id_key,list);
                        break;
 
                    case "2":
 
                        SqlDataSource1.SelectCommand = "SELECT * FROM lieu_seminaire ORDER BY liesem_libelle ASC";
                        SqlDataSource1.UpdateCommand = "UPDATE lieu_seminaire SET liesem_libelle=@liesem_libelle, liesem_activer=@liesem_activer WHERE liesem_code=@liesem_code";
 
                        id_key = "liesem_code";
 
                        list.Add(new String[] { "id", "Identifiant", "liesem_code" });
                        list.Add(new String[] { "txt", "Libelle", "liesem_libelle" });
                        list.Add(new String[] { "boo", "Activer", "liesem_activer" });
 
                        define_gridview(id_key,list);
                        break;
 
 
                }
 
           list.Clear();
 
    }
 
 
 
 
    protected void define_gridview(string id_key, List<string[]> list)
    {
 
        string[] listkey = { id_key };
 
        GridView1.AllowPaging = true;
        GridView1.AllowSorting = true;
        GridView1.ShowFooter = true;
        GridView1.PageSize = 10;
        GridView1.EnableSortingAndPagingCallbacks = false;
        GridView1.AutoGenerateColumns = false;
        GridView1.AutoGenerateEditButton = true;
        GridView1.DataKeyNames = listkey;
 
        int i=0;
        int nbr = list.Count();
 
        while (i < nbr) {
 
            switch (list[i][0]) {
 
                case "id":
 
                    boundField = new BoundField();
                    boundField.HeaderText = list[i][1];
                    boundField.DataField = list[i][2];
                    boundField.SortExpression = list[i][2];
                    boundField.ReadOnly = true;
 
                    GridView1.Columns.Add(boundField);
 
                    break;
 
                case "txt":
 
                    boundField = new BoundField();
                    boundField.HeaderText = list[i][1];
                    boundField.DataField = list[i][2];
                    boundField.SortExpression = list[i][2];
                    GridView1.Columns.Add(boundField);
 
                    break;
 
                case "boo":
 
                    checkBoxField = new CheckBoxField();
                    checkBoxField.HeaderText = list[i][1];
                    checkBoxField.DataField = list[i][2];
                    checkBoxField.SortExpression = list[i][2];
                    GridView1.Columns.Add(checkBoxField);
 
                    break;
            }
 
            i++;
        }
 
 
    }
 
 
}