Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB2008]Datagridviewerin tyhjennys?

Sam76 [14.01.2009 20:56:20]

#

Eli miten otsikon mukainen toiminto tehtdään? Minulla tälläistä koodia kasassa:

Private Sub Kuva_tulostin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kuva_tulostin.Click
' tässä jotain esittelyja tms.

If TabControl1.SelectedTab Is Tavarat Then
            PrintDGV = TL_DGV
            AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage
            PrintPreviewDialog1.Document = PrintDocument1
            PrintPreviewDialog1.ShowDialog()
' printti muotoillaan omassa metodissa, johon tämä printDGV välitetään
End if

' tähän vissiin pitäisi saada se printDGV:m tyhjennys(tai siis tässä
 'olen yrittänyt sitä tyhjentää)

end sub

Ongelmana on se että tulosta kahdelta eri välilehdeltä(lyhensin vähän koodia) ja näiden datagirdviewereiden formaatti erilainen. Jos ohjelmaa ei käytä alhaalla niin edellisen printtauksen muotoilu jää kummittelemaan seuraavaan prittiin ja pistää sen sekaisin. Eli oisko vinkkiä miten tyhjennys kannattaisi tehdä? Olen kokellut monenlaista esim.

printDGV.Rows.clear()
printDGV.Rows.Columns()
printDGV.Datasource = nothing

jne. mutta mikään ei toimi toivotulla tavalla.

edit. kirotusvirheitä

neau33 [15.01.2009 03:25:44]

#

Moikka Sam76!

eipä taida auttaa DataGridView-objektin tyhjennys, mutta testaa josko näin...

Imports System
Imports System.Drawing
Imports System.Drawing.Printing
Imports System.Windows.Forms

Public Class Form1: Inherits Form

   Friend WithEvents PrintDocument1 As PrintDocument
   Friend WithEvents PrintDGV As DataGridView

   '....

   Private Sub Kuva_tulostin_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles Kuva_tulostin.Click

      PrintDocument1 = New PrintDocument()

      AddHandler PrintDocument1.PrintPage, _
      AddressOf Me.PrintDocument1_PrintPage

      PrintDGV = tabControl1.SelectedTab.Controls(0)
      Me.printPreviewDialog1.Document = PrintDocument1

      With PrintDialog1
         .AllowSomePages = True
         .Document = PrintDocument1
         If .ShowDialog = DialogResult.OK Then
            Select Case PrintDGV.Parent.Name
               Case "tabPage1"
                  '...
               Case "tabPage2"
                  '...
            End Select
          End If
      End With

      PrintDGV = Nothing

      RemoveHandler PrintDocument1.PrintPage, _
      AddressOf Me.PrintDocument1_PrintPage

      PrintDocument1 = Nothing

   End Sub

   '...

End Class

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta