Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSharp Anzeigeproblem mit mehreren Tabellen im DataGrid

Frage Entwicklung VB for Applications

Mitglied: Beowolf

Beowolf (Level 1) - Jetzt verbinden

13.10.2008, aktualisiert 21.10.2008, 5365 Aufrufe, 1 Kommentar

Hallo Zusammen,

ich befinde mich gerade Daten aus einer Access Datenbank auszulesen und zu druckern. Das Druckerklasse stammt noch von meinem Vorgänger, so dass ich diese nicht angefasst habe. Der Inhalt bzw. das Gesamte Datagrid wird an diese Klasse übergeben und kann somit gedruckt werden.
Zu meinem Problem:
Meine Access Datenbank besteht aus 3 Tabellen. Teilweise lese ich mehrere Tabellen in das Datagrid ein. Funktioniert alles wunderbar, solange ich nicht drucke. Wurde der Inhalt einer Tabelle ausgedruckt, sind die Abfragen anderen Abfragen nicht mehr vollständig.
Aufgrund der Spaltenbreite nutze ich 5 Spalten pro Abfrage. Eine Abfrage kann mehrere Tabellen beinhalten.

Hier mal der Quelltext eines Teiles der Abfragen:

Abfrage Inventar + Raum
01.
         
02.
private string sqlueb = null; 
03.
private DataSet dsueb = null; 
04.
private OleDbConnection conueb = null; 
05.
private DataTable tblueb; 
06.
 
07.
private void button3_Click_1(object sender, EventArgs e) 
08.
09.
sqlueb = "SELECT Raum.Raum, Inventar.InvNr, Inventar.Bezeichnung, Inventar.Anzahl, Inventar.KSt FROM enthaelt, Inventar, Raum WHERE enthaelt.RaumID=Raum.Nr and enthaelt.Inventarnummer=Inventar.InvNr AND Inventar.gelöscht = 'xxx' ORDER BY Raum.Raum;"; 
10.
// FillDataGrid(); 
11.
try 
12.
13.
conueb = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Inventur.mdb"); 
14.
OleDbDataAdapter adapterueb = new OleDbDataAdapter(sqlueb, conueb); 
15.
dsueb = new DataSet(); 
16.
tblueb = new DataTable(); 
17.
conueb.Open(); 
18.
adapterueb.Fill(dsueb); 
19.
conueb.Close(); 
20.
dataGrid.DataSource = dsueb.Tables[0]; 
21.
dataGrid.Font = new Font("Verdana", 8); 
22.
23.
catch (Exception ex) 
24.
25.
Console.WriteLine(ex.Message); 
26.
27.
dataGrid.CaptionText = "Übersicht"; 
28.
} 
Abfrage Raum
01.
private string sqlraum = null; 
02.
private DataSet dsraum = null; 
03.
private OleDbConnection conraum = null; 
04.
 
05.
private void btn_Raum_Click(object sender, EventArgs e) 
06.
07.
sqlraum = "SELECT Raum.Nr, Raum.Raum, Raum.x, Raum.y, Raum.z FROM Raum ORDER BY Raum.Raum;"; 
08.
//FillDataGrid(); 
09.
try 
10.
11.
conraum = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Inventur.mdb"); 
12.
OleDbDataAdapter adapterraum = new OleDbDataAdapter(sqlraum, conraum); 
13.
dsraum = new DataSet(); 
14.
conraum.Open(); 
15.
adapterraum.Fill(dsraum); 
16.
conraum.Close(); 
17.
dataGrid.DataSource = dsraum.Tables[0]; 
18.
dataGrid.Font = new Font("Verdana", 8); 
19.
20.
catch (Exception ex) 
21.
22.
Console.WriteLine(ex.Message); 
23.
24.
dataGrid.CaptionText = "Räume"; 
25.
}
Abfrage Inventar
01.
   
02.
private string sqlinv = null; 
03.
private DataSet dsinv = null; 
04.
private OleDbConnection coninv = null; 
05.
 
06.
private void btn_Inventar_Click(object sender, EventArgs e) 
07.
08.
sqlinv = "SELECT Inventar.InvNr, Inventar.Bezeichnung, Inventar.Anzahl, Inventar.KSt, Inventar.Bemerkungen FROM Inventar Where Inventar.gelöscht = 'xxx' ORDER BY InvNr;"; 
09.
//FillDataGrid(); 
10.
 
11.
try 
12.
13.
coninv = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Inventur.mdb"); 
14.
OleDbDataAdapter adapterinv = new OleDbDataAdapter(sqlinv, coninv); 
15.
dsinv = new DataSet(); 
16.
coninv.Open(); 
17.
adapterinv.Fill(dsinv); 
18.
coninv.Close(); 
19.
dataGrid.DataSource = dsinv.Tables[0]; 
20.
 
21.
dataGrid.Font = new Font("Verdana", 8); 
22.
23.
catch (Exception ex) 
24.
25.
Console.WriteLine(ex.Message); 
26.
27.
 
28.
dataGrid.CaptionText = "Inventar"; 
29.
}
Alle Abfragen funktionieren, solange nicht gedruckt wird. Nachdem Drucken der Tabelle Inventar werdem bei der Abfrage Inventar + Raum nur noch die 4 Spalten angezeigt (Raum fehlt) und in der Abfrage Raum wird entweder nichts mehr oder nur die Spalte Raum angezeigt.

Das DataSet enthält jedoch die richtigen Werte, schreibt sie jedoch nicht ins Datagrid. Vor dem Drucken werden alle Ergebnisse korrekt angezeigt.

Hinweis:
  • Ich verwende ein DataGrid und kein DataGridView
  • Ein DataGridView kann nicht an die Druckerklasse übergeben werden.

Kann mir irgendjemand sagen, wo mein Fehler liegt?

Vielen Dank im vorraus.

Gruß Steffen

##Edit: Format angepasst
Mitglied: Beowolf
21.10.2008 um 09:08 Uhr
Hallo Zusammen,

Vielen Dank an alle.
Ich habe es hinbekommen, das Zauberwort heißt TableStyles.
Für alle die mal vor dem selben Problem stehen:
Bei Abfragen unterschiedlicher Tabellen und Spalten werden im Datagrid die Tablestyles angepasst. Bei einer Abfrage einer neuen Spalte ist diese nicht im tableStyle enthalten und wird somit nicht angezeigt.
Ein
01.
dataGrid.TableStyles.Clear();
vor jeder Abfrage behebt das Problem, da die TableStyles jedesmal neu geschrieben werden

Gruß Steffen
Bitte warten ..
Ähnliche Inhalte
C und C++
Eingabe in Tabelle CSharp
gelöst Frage von Pr0m3th3usC und C++2 Kommentare

Hi, Ich lerne gerade c# und bin auf ein Problem gestoßen. Ich möchte eine Tabelle erstellen in die der ...

Windows Server
Fehler in mehreren MMCs (HTML Anzeigeproblem)
gelöst Frage von DaHoffWindows Server3 Kommentare

Hallo, Hab ein Problem zu dem ich einfach keine Antworten finden kann. Windows SBS 2011 Standard SP1 In Manchen ...

Outlook & Mail
Anzeigeproblem Outlook 2010 "im Auftrag von"
Frage von BitboyOutlook & Mail2 Kommentare

Hi zusammen, ich hab ein seltsames Problem hier. Ein Anwender macht eine Weiterleitung aus einem geteilten Postfach. Er hat ...

Batch & Shell
Powershell ListView DataGrid in WPF
gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Hallo, ich habe in einer xaml Datei ein ListView Element erstellt. Die xaml Datei wird durch das PowerShell Skript ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 2 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 2 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 10 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server12 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...