Accueil > Forum > > > > datagrid avec templates column creer dynamiquement
datagrid avec templates column creer dynamiquement
vendredi 2 juin 2006 à 19:56:55 |
datagrid avec templates column creer dynamiquement
|
vendredi 2 juin 2006 à 19:59:22 |
Re : datagrid avec templates column creer dynamiquement

jusrob
|
Imports LibraryOracle
Imports LibraryMessage
Public Class GererParamTraitement
Inherits System.Web.UI.Page
Dim oracleLocal As OracleODP
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
Private Sub InitializeComponent()
End Sub
Protected WithEvents LabTitre As System.Web.UI.WebControls.Label
Protected WithEvents DataGridTable As System.Web.UI.WebControls.DataGrid
Protected WithEvents DropListTable As System.Web.UI.WebControls.DropDownList
Protected WithEvents LabJavascript As System.Web.UI.WebControls.Label
Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Hidden1 As System.Web.UI.HtmlControls.HtmlInputHidden
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
oracleLocal = Session("oracle")
If Not Page.IsPostBack Then
'Charger la liste des noms de table avec web.config
End If
End Sub
Private Sub SelectionTable()
Dim Selection As Integer
Selection = Me.DropListTable.SelectedIndex
If Selection > 0 Then
AfficherTableau()
End If
End Sub
Private Sub AfficherTableau()
Dim NomTable As String
Dim TxtSql As String
NomTable = Me.DropListTable.SelectedValue
Dim DonneeTable As DataSet
DonneeTable = oracleLocal.LancerRequeteLecture("select * from " & ConfigurationSettings.AppSettings("schema") & NomTable, "DonneeTable")
Me.DataGridTable.DataSource = DonneeTable
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
Dim tc1 As TemplateColumn
Me.DataGridTable.Columns.Add(CreateTemplateColumn(dtColumn.ColumnName, dtColumn.ColumnName))
Next
Me.DataGridTable.DataBind()
End Sub
Class myLabelColumn
Implements ITemplate
Dim _Champ As String
Public Property Champ() As String
Get
Champ = _Champ
End Get
Set(ByVal Value As String)
_Champ = Value
End Set
End Property
Sub instantiatein(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim lbl As Label = New Label
AddHandler lbl.DataBinding, AddressOf BindLabelColumn
container.Controls.Add(lbl)
End Sub
Public Sub BindLabelColumn(ByVal sender As Object, ByVal e As EventArgs)
Dim lbl As Label = CType(sender, Label)
Dim container As DataGridItem = CType(lbl.NamingContainer, DataGridItem)
Dim strVals As String
lbl.Text = Convert.ToString(DataBinder.Eval((CType(container, DataGridItem)).DataItem, _Champ))
lbl.ID = "lbl" & _Champ
End Sub
End Class
Class myTxtColumn
Implements ITemplate
Dim _Champ As String
Public Property Champ() As String
Get
Champ = _Champ
End Get
Set(ByVal Value As String)
_Champ = Value
End Set
End Property
Sub instantiatein(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim txt As TextBox = New TextBox
Dim hiddentxt As HtmlControls.HtmlInputHidden = New HtmlControls.HtmlInputHidden
AddHandler txt.DataBinding, AddressOf BindTxtColumn
AddHandler hiddentxt.DataBinding, AddressOf BindHiddenColumn
container.Controls.Add(txt)
container.Controls.Add(hiddentxt)
End Sub
Public Sub BindTxtColumn(ByVal sender As Object, ByVal e As EventArgs)
Dim txt As TextBox = CType(sender, TextBox)
Dim container As DataGridItem = CType(txt.NamingContainer, DataGridItem)
Dim strVals As String
txt.Text = Convert.ToString(DataBinder.Eval((CType(container, DataGridItem)).DataItem, _Champ))
txt.ID = "txt" & _Champ
End Sub
Public Sub BindHiddenColumn(ByVal sender As Object, ByVal e As EventArgs)
Dim hiddentxt As HtmlControls.HtmlInputHidden = CType(sender, HtmlControls.HtmlInputHidden)
Dim container As DataGridItem = CType(hiddentxt.NamingContainer, DataGridItem)
Dim strVals As String
hiddentxt.Value = Convert.ToString(DataBinder.Eval((CType(container, DataGridItem)).DataItem, _Champ))
hiddentxt.ID = "hiddentxt" & _Champ
End Sub
End Class
Function CreateTemplateColumn(ByVal DataFieldValue As String, ByVal HeaderTextValue As String) As TemplateColumn
' Create a templateColumn.
Dim tplCol As New TemplateColumn
Dim monLabel As New myLabelColumn
Dim monTxt As New myTxtColumn
monLabel.Champ = DataFieldValue
monTxt.Champ = DataFieldValue
tplCol.ItemTemplate = monLabel
tplCol.EditItemTemplate = monTxt
tplCol.FooterTemplate = monTxt
tplCol.HeaderText = HeaderTextValue
Return tplCol
End Function
Private Sub DropListTable_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropListTable.SelectedIndexChanged
SelectionTable()
End Sub
Private Sub DataGridTable_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridTable.EditCommand
Me.DataGridTable.EditItemIndex = e.Item.ItemIndex
AfficherTableau()
End Sub
Private Sub DataGridTable_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridTable.UpdateCommand
Dim NomTable As String
Dim TxtSql As String
Dim reponse As String
Dim test As String
Dim TxtHiddenSql As String
'Prendre les valeurs sélectionné
NomTable = Me.DropListTable.SelectedValue
Dim DonneeTable As DataSet
DonneeTable = oracleLocal.LancerRequeteLecture("select * from " & ConfigurationSettings.AppSettings("schema") & NomTable, "DonneeTable")
'Construire le where de la commande sql
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
test = CType(DataGridTable.FindControl("hiddentxt" & dtColumn.ColumnName), HtmlControls.HtmlInputHidden).Value
TxtHiddenSql = TxtHiddenSql & dtColumn.ColumnName & " = " & "'" & test & "'" & " and "
Next
TxtHiddenSql = Left(TxtHiddenSql, Len(TxtHiddenSql) - 4)
'Construire la commande sql
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
TxtSql = TxtSql & dtColumn.ColumnName & " = " & "'" & CType(e.Item.FindControl("txt" & dtColumn.ColumnName), TextBox).Text & "'" & ", "
Next
TxtSql = Left(TxtSql, Len(TxtSql) - 2)
'Update l'enregistrement
If Not oracleLocal.LancerRequeteMAJ("Update " & ConfigurationSettings.AppSettings("schema") & NomTable & " set " & TxtSql & " WHERE " & TxtHiddenSql) Then
'Message d'erreur sur la suppresion de l'enregistrement
AfficherErreur(oracleLocal.GetDerniereErreur)
End If
Me.DataGridTable.EditItemIndex = -1
AfficherTableau()
End Sub
Private Sub DataGridTable_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridTable.CancelCommand
Me.DataGridTable.EditItemIndex = -1
AfficherTableau()
End Sub
Private Sub DataGridTable_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridTable.DeleteCommand
Dim NomTable As String
Dim TxtSql As String
'Prendre les valeurs sélectionné
NomTable = Me.DropListTable.SelectedValue
Dim DonneeTable As DataSet
DonneeTable = oracleLocal.LancerRequeteLecture("select * from " & ConfigurationSettings.AppSettings("schema") & NomTable, "DonneeTable")
'Construire la commande sql
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
TxtSql = TxtSql & dtColumn.ColumnName & " = " & "'" & CType(e.Item.FindControl("lbl" & dtColumn.ColumnName), Label).Text & "'" & " and "
Next
TxtSql = Left(TxtSql, Len(TxtSql) - 4)
'Delete de la table
If Not oracleLocal.LancerRequeteMAJ("DELETE FROM " & ConfigurationSettings.AppSettings("schema") & NomTable & " WHERE " & TxtSql) Then
'Message d'erreur sur la suppresion de l'enregistrement
AfficherErreur(oracleLocal.GetDerniereErreur)
End If
Me.DataGridTable.EditItemIndex = -1
AfficherTableau()
End Sub
Private Sub AfficherErreur(ByVal Message As String)
Response.Write(Message)
End Sub
Private Sub DataGridTable_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGridTable.ItemCommand
If e.CommandName = "Add" Then
Response.Write("Ajout")
Dim DonneeTable As DataSet
Dim NomTable As String
Dim TxtSql As String
'Prendre les valeurs sélectionné
NomTable = Me.DropListTable.SelectedValue
DonneeTable = oracleLocal.LancerRequeteLecture("select * from " & ConfigurationSettings.AppSettings("schema") & NomTable, "DonneeTable")
'Construire la commande sql
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
TxtSql = TxtSql & " ( " & dtColumn.ColumnName & ", "
Next
TxtSql = Left(TxtSql, Len(TxtSql) - 2)
TxtSql = TxtSql & ") "
For Each dtColumn As DataColumn In DonneeTable.Tables(0).Columns
TxtSql = TxtSql & "Values ( " & CType(e.Item.FindControl("txt" & dtColumn.ColumnName), TextBox).Text & ","
Next
TxtSql = Left(TxtSql, Len(TxtSql) - 2)
TxtSql = TxtSql & ") "
'Ajout dans la table
If Not oracleLocal.LancerRequeteMAJ("Insert into" & NomTable & TxtSql) Then
'Message d'erreur sur l'ajout de l'enregistrement
AfficherErreur(oracleLocal.GetDerniereErreur)
End If
Me.DataGridTable.EditItemIndex = e.Item.ItemIndex
AfficherTableau()
End If
End Sub
Private Sub DataGridTable_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGridTable.ItemCreated
Try
Dim btn As Button = CType(e.Item.Cells(1).Controls(0), Button)
Dim monmessage As New Message
monmessage.Type = "confirm"
monmessage.ContenuMessage = "Désirez-vous vraiment supprimer cette occurence ?"
monmessage.ActionTrue = ""
monmessage.ActionFalse = "return false;"
btn.Attributes.Add("onclick", monmessage.AfficherMessage())
Catch ex As Exception
End Try
End Sub
End Class
|
|
Cette discussion est classée dans : creer, datagrid, column, dynamiquement, templates
Répondre à ce message
Sujets en rapport avec ce message
DataGrid dans un autre datagrid Evenements EditCommand [ par Myke ]
Bonjour J'espere que quelqu'un va pouvoir m'aider!Je posede un DataGrid[DGPrincipale] qui possede deux column. Column #1 = BoundColumnColumn #2 = Temp
creer un imagebutton dynamiquement [ par fredzool ]
je debute en asp.net me debrouille bien en win aplli c#ImageButton im;im = new ImageButton();im.ImageUrl = "1.jpg";im.Width = 50;im.Height = 50;//im.
Evenement dans hyperlink column... [ par Zekez ]
Bonjour,Voilà mon problème, j'ai créé, en C#, un datagrid contenant deux colonnes: une avec des données d'une BD et une avec des hyperliens. Je voudra
controls ajoutés dynamiquement [ par DeitY51 ]
Bonjour, if (!IsPostBack){ // cree les datagrid dynamiquement CreerListeDemande(); // cree les panels contenant les datagrid CreerPanelsDemande()
AutoPostBack de dropdownlist [ par cabbry ]
Bonjour, j'ai un datagrid qui possède une dropdownlist lorsqu'il est en édition... Cette dropdownlist à la propriété autopostback=true... Quand je
Formater une date dans un DataGrid [ par jerome_p ]
Bonjour, j'ai une Date sous le format suivant : 7/14/2005 12:00:00 AM Et j'aimerais la transformer en 14 Jul 2005
datagrid avec 3 table access [ par milo2009 ]
Salut, Je voudrais savoir comment charger un datagrid avec une requete Sql basée sur 3 tables d'une base access. SELECT produits.id_produit, produit
Datagrid : Numeroter les lignes [ par Templar_net ]
Encore un souci avec un data grid.Je remplis mon datagrid grâce à ma BDD avec une requête (classant des compagnies suivant une note) qui se termine pa
Datagrid en mode template : DataGridCommandEventArgs vide ? [ par benjiiim94 ]
Bonjour, Petit problème avec un DataGrid en mode modèle, lorsque j'appele l'évenement UpdateCommand, le DataGridCommandEventArgs semble être vide. Je
Modifier valeur de colonne dans un datagrid [ par kenzo080 ]
Bonjour, Je cherche a remplacer le resultat d une colonne de mon datagrid. Au lieu d avoir des "0" ou "1", je veux mettre des "Yes" ou "No". J ai vu q
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|