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

Mitglied: Beowolf

Beowolf (Level 1) - Jetzt verbinden

13.10.2008, aktualisiert 21.10.2008, 5376 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 ...

Visual Studio

NET CSHARP DataGrid mit WPF individuell befüllen

gelöst Frage von it4baerVisual Studio2 Kommentare

Hi, ich möchte ein DataGrid Individuell befüllen => das ganze wird so aussehen, dass ich über eine Oracle-Abfrage (welche ...

Visual Studio

CSHARP WPF - DataGrid Zeilenweise in Abhänigkeit vom Wert einfärben

Frage von it4baerVisual Studio3 Kommentare

Hallo, ich befülle ein DataGrid anhand einer DataTable anschließend möchte ich abhänig von "frei Definierbaren" Parametern diese einfärben z.B. ...

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 ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...