GridView footer et validation de champs.
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:
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:
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++;
}
}
} |