Gridview sous vb.net

Fermé
waoumita Messages postés 73 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 31 mai 2011 - 27 oct. 2010 à 14:21
Bonjour,
j'ai un probleme avec un gridview au stage on m'a demandé d'utiliser une fonction remplir pour le remplir et une autre formater pour lui donner une format
sachant que je dois importer les donner d'une table appelé khabir.mdb le gridview s'affiche mais avec les champs doublé cad 2 dates 2 codes journal ..... le voila le code merci d'avance



Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
Imports System.ComponentModel
Imports System.Data.OleDb
Imports System.Data
Imports System.Web.UI.WebControls.GridView
Imports microsoft
Partial Class consultationPiece
Inherits System.Web.UI.Page
Dim con As New OleDbConnection
Dim chemindb As String = System.Configuration.ConfigurationManager.ConnectionStrings("khabir").ConnectionString
Dim dt As DataTable
Shared ds As New DataSet
Dim dataset_ecri As New DataSet
Dim dataAdapter_ecri As OleDbDataAdapter
Shared PageIndex As Int32
Const m_table = "Mytable"
Const m_button = "btn_01"
Sub formater_dg()

Dim bf_col As BoundField, k As Integer = 0
Dim btn_col As ButtonField

Grid_v.HeaderStyle.BackColor = Drawing.Color.MidnightBlue
Grid_v.HeaderStyle.ForeColor = Drawing.Color.White
Grid_v.HeaderStyle.Font.Size = 8
Grid_v.BackColor = Drawing.Color.CornflowerBlue
Grid_v.ForeColor = Drawing.Color.White
Grid_v.AlternatingRowStyle.BackColor = Drawing.Color.MidnightBlue
Grid_v.AlternatingRowStyle.ForeColor = Drawing.Color.White
Grid_v.Font.Name = "Arial"
Grid_v.RowStyle.Font.Size = 7
Grid_v.AllowSorting = True
'paging
Grid_v.PageSize = Me.drop_lign.Text
Grid_v.AllowPaging = True
Grid_v.PagerSettings.Mode = PagerButtons.Numeric
Grid_v.PagerSettings.Position = PagerPosition.TopAndBottom
Grid_v.PagerStyle.HorizontalAlign = HorizontalAlign.Center

If Grid_v.Columns.Count = 0 Then
bf_col = New BoundField()
bf_col.HeaderText = "jnl"
bf_col.DataField = "cod-journal"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "25"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Left
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "Numero pièce"
bf_col.DataField = "num-piece"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "100"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1
bf_col = New BoundField()
bf_col.HeaderText = "Numero compte"
bf_col.DataField = "num-cpt"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "80"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "date ecriture"
bf_col.DataField = "date-piece"
bf_col.DataFormatString = "{0:dd/MM/yyyy}"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "80"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "date echeance"
bf_col.DataField = "DEcheance"
bf_col.DataFormatString = "{0:dd/MM/yyyy}"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "80"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "N° facture"
bf_col.DataField = "numfact"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "50"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "réf doc"
bf_col.DataField = "tag"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "150"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Left
k = k + 1

bf_col = New BoundField()
bf_col.HeaderText = "intitulé ecriture"
bf_col.DataField = "intitule-ecriture"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "25"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1
' valide as validée

bf_col = New BoundField()
bf_col.HeaderText = "débit"
bf_col.DataField = "debit"
bf_col.DataFormatString = "{0:# ##0.00}"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "50"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1


bf_col = New BoundField()
bf_col.HeaderText = "crédit"
bf_col.DataField = "credit"
bf_col.DataFormatString = "{0:# ##0.00}"
Grid_v.Columns.Add(bf_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "50"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Right
k = k + 1


btn_col = New ButtonField
btn_col.CommandName = m_button
btn_col.HeaderText = "validé"
btn_col.Text = "valide"
Grid_v.Columns.Add(btn_col)
Grid_v.Columns.Item(k).ItemStyle.Width = "50"
Grid_v.Columns.Item(k).ItemStyle.HorizontalAlign = HorizontalAlign.Left
k = k + 1

End If
Grid_v.PageSize = Me.drop_lign.Text
Grid_v.AllowPaging = True


End Sub
Function convertDate(ByVal s As String) As String
Dim d As String = ""
If IsDate(s) Then
d = Month(s) & "/" & Day(s) & "/" & Year(s)
End If
convertDate = d
End Function
Sub remplir()
Dim a As Integer = 0
Dim mysql As String = ""
Dim numds As Integer = Session("numds")
Me.btn_imprimer.Enabled = True
dt = New DataTable
ds = New DataSet
lb_msg.Text = ""
mysql = "select [Cod-Journal],[num-piece],[num-cpt],format$([date-piece],'dd/mm/yyyy'),format$(DEcheance,'dd/mm/yyyy'),NumFact,tag,[intitule-ecriture],debit,credit,valide from EcritureComptable"

Try
'--------------------la date operation----------------------------------

If Me.txt_FDOp.Text <> "" Then
mysql = mysql & "where [date-piece] >=#" & convertDate(Me.txt_DDatO.Text) & "# "
End If
'--------------------la date d'échéance-----------------------------------

If Me.txt_DDatE.Text <> "" Then
mysql = mysql & " where [DEcheance]>=#" & convertDate(Me.txt_FdatE.Text) & "#"
End If

'---------------------numero de compte---------------------------------------
If Me.txt_NCpt.Text <> "" Then
mysql = mysql & " where [num-cpt]='" & txt_NCpt.Text & "'"
End If


'--------------------numero de piece----------------------------------------------------------------------
If Me.txt_NP.Text <> "" Then
mysql = " where [num-piece]=" & Me.txt_NP.Text & ""
End If
'----------------------numero de facture
If Me.txt_fact.Text <> "" Then
mysql = mysql & " where [NumFact]=" & Me.txt_fact.Text & ""
End If

'-----------------------montant superieur a une valeur-------------------------------------
If Me.txt_MntS.Text <> "" Then
mysql = mysql & " where debit>=" & Val(Me.txt_MntS.Text) & "or credit >= " & Val(Me.txt_MntS.Text)
End If
'--------------------------montant min----------------------------------
If Me.txt_MntM.Text <> "" Then
mysql = mysql & "and debit<=" & Val(Me.txt_MntM.Text) & "or credit <= " & Val(Me.txt_MntM.Text)
End If

'--------------------------------code journal--------------------------------
If Me.txt_jnl.Text <> "" Then
mysql = mysql & "and [Cod-Journal]='" & Me.txt_jnl.Text & "'"
End If
'-----------------------------------------libellé------------------------------
If Me.txt_Lib.Text <> "" Then
mysql = mysql & "and [intitule-ecriture]='" & Me.txt_Lib.Text & "'"
End If

'--------------------------------validation---------------------------
If Me.drowlis.Text <> "" Then
If Me.drowlis.Text = "oui" Then
a = -1
Else
a = 0
End If
mysql = mysql & "and valide=" & a & ""
End If
'--------------------------------------tag----------------------------
If Me.txt_doc.Text <> "" Then
mysql = mysql & "and tag='" & Me.txt_doc.Text & "'"
End If

'----------------------------------requete sql
mysql = mysql & " order by [Cod-Journal] DESC ,[num-piece] DESC,[num-cpt] DESC "
'**********************************************************************
con.ConnectionString = chemindb & Format$(numds, "00000000") & "\KHABIR.mdb"
Dim adapter_ecri As New OleDbDataAdapter(mysql, con)
adapter_ecri.Fill(ds, m_table)
'**********************************************************************
If ds.Tables(m_table).Rows.Count = 0 Then
lb_msg.Text = "Aucun enregistrement trouvé."
Else
lb_msg.Text = "Nb enregistrement(s) trouvé(s) : " & ds.Tables(m_table).Rows.Count
End If
Grid_v.DataSource = ds.Tables(m_table)
Grid_v.DataBind()
Catch ex As Exception
Me.lb_msg.Text = ex.Message
End Try

End Sub


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim numds As Integer = Session("numds")
Me.btn_imprimer.Enabled = False
'If numds = 0 Or Session("utilisateur") = "" Then
' Response.Redirect("authentification.aspx")
' Exit Sub
'End If
lb_msg.Text = ""
Page.Title = "Consultation"
numds = Session("numds")

Try

If Not IsPostBack Then
Me.drop_lign.Items.Add("20")
Me.drop_lign.Items.Add("50")
Me.drop_lign.Items.Add("100")
Me.drop_lign.SelectedIndex = 0
Call formater_dg()
'
Call remplir()
End If

Catch ex As Exception
Me.lb_msg.Text = ex.Message
Session("g_code_error") = Err.Number
Session("g_error_description") = Err.Description
Server.Transfer("errors_page.aspx")
End Try
End Sub
Sub vider()
Me.txt_DDatE.Text = ""
Me.txt_DDatO.Text = ""
Me.txt_doc.Text = ""
Me.txt_fact.Text = ""
Me.txt_FdatE.Text = ""
Me.txt_FDOp.Text = ""
Me.txt_jnl.Text = ""
Me.txt_Lib.Text = ""
Me.txt_NCpt.Text = ""
Me.txt_NP.Text = ""
Me.drowlis.Text = ""
Me.txt_MntM.Text = ""
Me.txt_MntS.Text = ""
End Sub
Protected Sub btn_chercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_chercher.Click

remplir()

End Sub
Protected Sub btn_imprimer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_imprimer.Click
lb_msg.Text = ""
Dim cmd_temp As New OleDbCommand
Dim dtr_temp As OleDbDataReader
Dim trouve As Boolean
Try
con.Open()
cmd_temp.Connection = con
cmd_temp.CommandType = CommandType.Text
cmd_temp.CommandText = "select * from temp"
dtr_temp = cmd_temp.ExecuteReader
While (dtr_temp.Read)
trouve = True
End While
dtr_temp.Close()
If trouve = True Then
cmd_temp.CommandText = "delete Jnl from temp"
cmd_temp.ExecuteNonQuery()
End If
For Each dr As DataRow In ds.Tables("EcritureComptable").Rows()
Dim cmd_tempp As New OleDbCommand("insert into Temp(jnl,Piece,Compte,[Date],Intitule,Debit,Credit) values ('" & dr(0) & "'," & dr(1) & ",'" & dr(2) & "','" & dr(3) & "','" & dr(7) & "','" & dr(8) & "','" & dr(9) & "')", con)
cmd_tempp.ExecuteNonQuery()
Next
con.Close()
Response.Redirect("etat.aspx?param=temp")
Catch ex As Exception
Me.lb_msg.Text = ex.Message
End Try
End Sub



Protected Sub drop_lign_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles drop_lign.SelectedIndexChanged
remplir()
End Sub

Protected Sub gridview1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles Grid_v.PageIndexChanging
Me.Grid_v.PageIndex = e.NewPageIndex
remplir()
End Sub



Protected Sub btn_quitter_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_quitter.Click
Response.Redirect("index.aspx")
End Sub



Protected Sub txt_DDatO_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_DDatO.TextChanged

End Sub

Protected Sub gridview1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Grid_v.SelectedIndexChanged

End Sub
End Class