Construire dynamiquement un controle Web

imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 15 mai 2007 à 17:49
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 16 mai 2007 à 12:48
Bonjour,
Es ce possible de contruire avec du code C# et non de l'asp des controles web ?
J'aimerai en fait au changement de ma combox box charger sur ma page un datagrid, qui n'a pas la meme structure selon la selection de ma combo box.
C'est à dire que se serait un datagrid avec un nombre de colone différent , des entetes différente ....

mais jaimerai le positioner a chaque fois sur le meme emplacement dans ma page aspx.

Jusqua présent je faisait comme sa en declarant mon datagrid :

Code :

 
"dgObjet" runat= "server" width="100%" horizontalalign="Center" autogeneratecolumns="False" cellpadding="3" gridlines="Horizontal" itemstyle-height="30" pagesize="20" allowpaging="True">
"False" cssclass="Tableau_content_alternate">
"False" height="30px" cssclass="Tableau_content">
<headerstyle cssclass ="Tableau_top"></headerstyle>

<columns>
"macro" sortexpression="macro" headertext="macro">
"no" sortexpression="no" headertext="Num&#233;ro de l'&#233;tat">
"dest" sortexpression="dest" headertext="Nom du destinataire">
"D" sortexpression="D" headertext="Mode d'envoi">
"C" sortexpression="C" headertext="Type de compression">
"P" sortexpression="P" headertext="Protection">
</columns>

"Tableau_top" mode="NumericPages">



 

<!-- END TEMPLATE: bbcode_code -->

et jaimerai affecter avec du c# les columns et les nom ....

HELPPPPPP !! merci<!-- / message -->

4 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 mai 2007 à 23:27
SAlut

REgardes un peu la FAQ tu trovueras peut etr une idée ce basant sur le 25.26 par exemple.
http://www.syncfusion.com/FAQ/aspnet/WEB_c4c.aspx#q412q

Normalement tu associe un dataset ou datatable et
tu binding et la tu auras les bonnes colonnes.

Apres tu peux travailler les colonnes et les cellules du datagrid
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
16 mai 2007 à 09:51
Ouéé ca ma l'air super bien comme idée mais dommage que je comprenne pas tro
 car c'est pas en francais  !! je sais c'est nul mais voila !!
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
16 mai 2007 à 12:23
Voici

Un exemple

Source google group
http://groups.google.fr/...

Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Vom Web Form Designer generierter Code "

'Dieser Aufruf ist für den Web Form-Designer erforderlich.
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

End Sub

'HINWEIS: Die folgende Platzhalterdeklaration ist für den Web
Form-Designer erforderlich.
'Nicht löschen oder verschieben.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init
'CODEGEN: Dieser Methodenaufruf ist für den Web Form-Designer
erforderlich
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
InitializeComponent()
End Sub

#End Region

Dim mGrid As DataGrid

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
CreateGrid()
End Sub

Public Sub CreateGrid()
'declare a new datagrid and set properties
mGrid = New DataGrid
mGrid.ID = "234"
mGrid.BorderWidth = Unit.Pixel(2)
mGrid.CellPadding = 10
mGrid.GridLines = GridLines.Both
mGrid.BorderColor = Color.Blue
mGrid.ShowHeader = True
mGrid.AutoGenerateColumns = False
mGrid.SelectedItemStyle.BackColor = Color.Yellow

'add bound columns to the datagrid
Dim datagridcol As New BoundColumn
datagridcol.HeaderText = "Column1"
datagridcol.DataField = "Column1"
mGrid.Columns.Add(datagridcol)

datagridcol = New BoundColumn
datagridcol.HeaderText = "Column2"
datagridcol.DataField = "Column2"
mGrid.Columns.Add(datagridcol)

Dim editCol As New EditCommandColumn
editCol.ButtonType = ButtonColumnType.LinkButton
editCol.EditText = "Edit"
editCol.UpdateText = "Update"
editCol.CancelText = "Cancel"
mGrid.Columns.Add(editCol)

AddHandler mGrid.UpdateCommand, AddressOf DataGrid1_UpdateCommand
AddHandler mGrid.CancelCommand, AddressOf DataGrid1_CancelCommand
AddHandler mGrid.EditCommand, AddressOf DataGrid1_EditCommand

''bind datagrid
mGrid.DataSource = GetDataSet()
mGrid.DataBind()

'add datagrid to the page
Page.Controls(1).Controls.Add(mGrid)
End Sub

Public Function GetDataSet() As DataTable
Dim dTable As Data.DataTable = Session.Item("DataTable")
If dTable Is Nothing Then
dTable = New Data.DataTable
Dim dCol1 As New Data.DataColumn("Column1")
Dim dCol2 As New Data.DataColumn("Column2")

dTable.Columns.Add(dCol1)
dTable.Columns.Add(dCol2)

Dim dRow As Data.DataRow = dTable.NewRow
dRow.Item("Column1") = "Value1.1"
dRow.Item("Column2") = "Value1.2"
dTable.Rows.Add(dRow)

dRow = dTable.NewRow
dRow.Item("Column1") = "Value2.1"
dRow.Item("Column2") = "Value2.2"
dTable.Rows.Add(dRow)

Session.Add("DataTable", dTable)
End If
Return dTable
End Function

Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs)
Dim tmpGrid As DataGrid = CType(source, DataGrid)
tmpGrid.EditItemIndex = -1

'bind datagrid
tmpGrid.DataSource = GetDataSet()
tmpGrid.DataBind()
End Sub

Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs)
Dim tmpGrid As DataGrid = CType(source, DataGrid)
tmpGrid.EditItemIndex = -1

'bind datagrid
tmpGrid.DataSource = GetDataSet()
tmpGrid.DataBind()
End Sub

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs)
Dim tmpGrid As DataGrid = CType(source, DataGrid)
tmpGrid.EditItemIndex = CInt(e.Item.ItemIndex)

'bind datagrid
tmpGrid.DataSource = GetDataSet()
tmpGrid.DataBind()
End Sub

Protected Overloads Overrides Sub RaisePostBackEvent(ByVal sourceControl As
System.Web.UI.IPostBackEventHandler, ByVal eventArgument As String)
CType(sourceControl, System.Web.UI.WebControls.LinkButton).CommandName =
"Update"
sourceControl.RaisePostBackEvent(eventArgument)

End Sub

End Class
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
16 mai 2007 à 12:48
c cool ! merci il me reste retranscrire tous sa en c#
0
Rejoignez-nous