Toon posts:

[.Net] Datagridview naar clipboard met formatting

Pagina: 1
Acties:

Onderwerpen


  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
Voor een VB.Net (VS2008, .NET 3.5) applicatie wil ik graag een unbound DataGridView exporteren naar het clipboard, met behoud van de formatting. Voorlopig krijg ik het nog niet voor elkaar:
code:
1
Clipboard.SetData(DataGridView.GetClipBoardContent())

exporteert alleen maar de ruwe data, geen formatting.

Met
code:
1
2
3
Dim test As New DataObject
test.SetData(DataFormats.EnhancedMetafile, True, DataGridView1.GetClipboardContent())
Clipboard.SetDataObject(test)

Krijg ik nog geen andere data. Ik wil het proberen door eerst een HTML tabel van de DataGridView te gaan maken, en te proberen of het DataObject dit kan vertalen naar een Enhanced Metafile. Wie kan mij verder helpen?

  • zzattack
  • Registratie: juli 2008
  • Laatst online: 15:09
Heb je de ClipboardCopyMode van de DataGridView ingesteld?
Ohja, en selecteer je van te voren wel alle rows in je DGV (met DataGridView.SelectAll())?

[Voor 44% gewijzigd door zzattack op 30-09-2010 15:05]


  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
zzattack schreef op donderdag 30 september 2010 @ 15:02:
Heb je de ClipboardCopyMode van de DataGridView ingesteld?
Ohja, en selecteer je van te voren wel alle rows in je DGV (met DataGridView.SelectAll())?
Jep, maar ClipboardCopyMode doet alleen wel/niet headers, en alle data is inderdaad geselecteerd. Clipboard output werkt wel, maar ik wil het met formatting doen dus.

  • Face_-_LeSS
  • Registratie: september 2004
  • Niet online
Volgens min is de methode GetClipboardContent virtual dus je zou je eigen implementatie kunnen maken...

  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
Face_-_LeSS schreef op donderdag 30 september 2010 @ 17:14:
Volgens min is de methode GetClipboardContent virtual dus je zou je eigen implementatie kunnen maken...
Klinkt interessant, kun je iets meer uitleggen? Ik kan redelijk proggen in VB.Net maar heb nog niet genoeg kennis om nu te begrijpen waar ik precies een implementatie van moet maken. Kun je nog wat hints geven?

  • Niellus
  • Registratie: december 2003
  • Laatst online: 19-06-2016
Ik denk dat hij bedoeld: de data behandelen door er bijv. zelf tabstops tussen te gooien.

maw. override de 'method' door deze aan een andere class te deriven.

edit: typo

[Voor 33% gewijzigd door Niellus op 02-10-2010 18:23]

Make way for the bad guy


  • Haan
  • Registratie: februari 2004
  • Laatst online: 10:18

Haan

dotnetter

Volgens mij heeft hier iemand hetzelfde probleem, en een voorbeeld van hoe je de GetClipboardContent() methode kunt overriden (wel in C#).

Kater? Eerst water, de rest komt later
Last.fm profiel


  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
Haan schreef op zaterdag 02 oktober 2010 @ 18:26:
Volgens mij heeft hier iemand hetzelfde probleem, en een voorbeeld van hoe je de GetClipboardContent() methode kunt overriden (wel in C#).
Dank je, maar nu gaat het nog steeds als tekst naar het Clipboard. Ik zoek een implementatie van Enhanced Meta File, of HTML met formatting.

  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
Samen met iemand anders de route genomen om te proberen het OnPaint event af te vangen, en dat weg te kunnen schrijven naar een Enhanced MetaFile. Helaas werkte dit niet; blijkbaar werkt het vanaf hier al als een directe bitmap, ipv. een dataobject.

Dus nu probeer ik een HTML tabel en/of een RTF tabel te maken, om te kijken of die in AutoCAD goed plakken. Iemand tips?

  • BvDorp
  • Registratie: januari 2004
  • Laatst online: 00:12
Nog even terugkoppelen. Het is gelukt, door de volgende stappen.
  1. OnPaint event afvangen en wegschrijven naar en Enhanced Metafile
    -> werkte niet, het Control tekent zichzelf alleen als een print object (ruwe bitmap dus)
  2. HTML tabel genereren
    Werkte prima, maar in AutoCAD kon ik dit niet plakken. Ook niet als AutoCAD Entities, voor de volledigheid.
  3. RTF tabel
    Niet echt geprobeerd, omdat het RTF formaat wel wat lastiger is om te handelen. Er zijn wel programmeer voorbeelden te vinden, maar hou er rekening mee dat je heel hardcoded aan de slag bent.
  4. DrawToBitmap gebruiken
    Werkte prima, maar wel moest het Control groot genoeg zijn om de hele tabel te moeten tekenen, anders krijg je zwarte vlakken. Nog even wat moeten croppen om alle tabel opmaak eraf te slopen.
Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee