Laden...

Forenbeiträge von Sonne123 Ingesamt 72 Beiträge

12.09.2013 - 18:54 Uhr

verwendetes Datenbanksystem: <MS SQL Server 2008>

Hallo,

ich habe 3 Tabellen in meiner Datenbank, die in Beziehung zueinander stehen.

Tabelle1
ID Primärschlüssel
...//weitere Spalten
ID_tab2 Fremdschlüssel zu Tabelle 2
ID_tab3 Fremdschlüssel zu Tabelle 3
...

Tabelle 2
ID PS
Name_tab2

Tabelle 3
ID PS
Name_tab3

Das ERgebnis soll folgendermaßen aussehen:

Tabelle1
...
Name_tab2
Name_tab3
...

Wie bekomme ich es hin, dass Name_tab2 und name_tab3 angezeigt werden und nicht die IDs aus Tabelle2 und Tabelle3?
Habe es schon über einen Join probiert, was aber nicht zum richtigen Ergebnis führt.

Ich hoffe ich habe mich klar ausgedrückt und wäre über eine kleine Hilfe sehr dankbar, denn ich bin leider noch nicht so erfahren.

Grüße

12.02.2013 - 18:46 Uhr

Habe jetzt folgendes:


 PdfDocument pdf = new PdfDocument(dateiname);

           
string documentTextFile = "Document text.txt";

 using (StreamWriter writer = new StreamWriter(documentTextFile))
          writer.Write(pdf.GetText());

    Process.Start(documentTextFile);
           
 

Habe jetzt zwar alle Daten in einer Textdatei. Jedoch habe ich immernoch nicht rausgefunden wie ich die Tabelle auslesen kann. Also celle für celle. Mir würde es ja schon reichen, wenn ich das ende der spalte erreiche (z.b. erreichen des zeichens "|").
Ich bin so hilflos und wäre sehr dankbar wenn mir einer weiter helfen kann.

10.02.2013 - 15:14 Uhr

Hallo,

ich habe eine pdf-Datei, die eine Tabelle enthält. Ich möchte jetzt gerne die pdf über C# auslesen und am besten in einem Datatable oder Array speichern.

Habe es schon über einen StreamReader oder einem PDFReader probiert aber da habe ich die Daten vom pdf nur in einem string gespeichert.

Ich hoffe mir kann einer einen Ansatz geben.

Grüße

14.04.2011 - 15:45 Uhr

Hallo,

ich hab ein DataGridView und eine Zelle z.b. mit einer ComboBox versehen.
Nachdem der User ein bestimmten Wert ausgewählt hat, soll diese ComboBox entfernt werden und eine Textbox soll erscheinen.

 dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = new DataGridViewTextBoxCell();

es funtkioniert aber nicht, die combobox bleibt da.

Für ein Tipp wäre ich sehr dankbar!

18.03.2011 - 08:33 Uhr

da ich jetzt länger nicht mehr da war, konnte ich nicht antworten.

also die daten sind in einem datatable gespeichert, die an das datagridview gebunden sind.
ich möchte sobald das datagridview angezeigt wird also z.b. DataGridView_Load() einstellen, dass z.b. Column 3 vom Typ DataGridViewComboBoxCell ist.
ich möchte aufjedenfall keine neue spalte hinzufügen, nur den Columntype ändern!
ich hoffe mir kann einer helfen.

04.03.2011 - 15:05 Uhr

kann ich auch nicht, da in den Zeilen der Spalte schon Werte drin stehen und wenn ich die Spalte dann entferne, werden diese ja dann gelöscht.

04.03.2011 - 14:09 Uhr

naja ich möchte aber keine Spalte mehr hinzufügen, ich möchte das einer vorhandenen Spalte "zuweisen", also z.b. die Spalte 3 soll aus ComboBoxen bestehen.
ja es ist auch umständlich aber ich muss es per code machen, da es immer unterscheidliche Tabellen mit unterscheidlichen Werten sind.

04.03.2011 - 13:54 Uhr

ok das obige habe ich jetz auch schon gelöst. vielleicht kann mir einer damit weiterhelfen:

wie kann ich bei einem DataGridView sagen, dass genau eine Spalte nur aus ComboBoxen bestehht. (Datagridview1.Columns = alle ComboBoxen)

????????

04.03.2011 - 13:40 Uhr

ja aber ich weiss es, da ich vor mir ein ER-Diagramm liegen habe und sehe, das immer die erste Spalte der PrimaryKey ist!

04.03.2011 - 10:45 Uhr

wie heißt das Event wenn sich der "Typ" in der Zelle ändert, also von DataGridViewTextboxCell in DataGridviewComboBoxCell???

04.03.2011 - 10:38 Uhr

Danke für die Hilfe! Habe es jetzt so gelöst:


if (dataGridView1.Columns[e.ColumnIndex].Name == "Column1")
{
DataGridViewComboBoxCell combo= new DataGridViewComboBoxCell();

combo.Items.Add("xxx");

combo.Items.Add("yyy");

dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] = combo;
}

😃

03.03.2011 - 17:56 Uhr

Hallo,

ich hab ein DataGridView wo alle Zellen als DataGridViewTextboxCell zu sehen sind (ist ja der Standard). Jedoch möchte zwischendurch auch mal den "Typ" ändern, also z.B. wenn ich in eine Zelle klicke, soll dann eine ComboBox erscheinen, wo man zwischen mehreren Werten dann wählen kann. Ist das irgendwie möglich?
Ich möchte aufjedenfall nicht vorher schon festlegen, dass die Spalte vom Columntype DataGridViewComboBoxColumn ist. Es geht nur um die einzeilne Zelle.

Gruß,

Sonne.

03.03.2011 - 17:50 Uhr

nicht weiter schlimm.

also das wäre jetzt zu komplex, das ganze projekt zu erläutern..
aber mir ist aufgefallen, dass IMMER die erste Spalte im DataTable der primary key ist und somit hab ichs doch schon 😉

Trotzdem danke Achim!

Gruß,

Sonne

03.03.2011 - 16:00 Uhr

ähm ja...

danke Achim.

for (int i = 0; i < colum.Length; i++)
                {
                    Console.WriteLine(colum[i].ColumnName + colum[i].DataType);
                }

als ich das gemacht, war mir gleich klar, dass das nicht klappt, da colum.length = 0 ist. und es würde auch die gleiche Fehlermeldung kommen.

gruß,

sonne

03.03.2011 - 14:36 Uhr

habe das hier gefunden und getestet

 DataColumn[] colum = dataTable1.PrimaryKey;

for (int i = 0; i < dataTable1.Columns.Count; i++)
{
    Console.WriteLine(colum[i].ColumnName + colum[i].DataType);
}
            

Fehlermeldung:
Der Index war außerhalb des Arraybereichs.

03.03.2011 - 14:17 Uhr

ja ich möchte aber den Primary Key in meiner DataTable herausfinden und dazu den Spaltenname.

03.03.2011 - 13:48 Uhr

verwendetes Datenbanksystem: <MS SQL Server 2005>

Hallo,

kann ich bei

 DataColumn[] primaryKeyColumn= dataTable1.PrimaryKey;

auch den Namen der Spalte herausfinden?

Grüße,

Sonne123

28.02.2011 - 09:35 Uhr

ich habe versucht

dataTable = bindingSource1.DataSource
sqlDataAdpater.Update(dataTable)

geht aber nicht !?

28.02.2011 - 09:07 Uhr

die Werte speichere ich in ein Datatable, welches durch den SqlDataAdapter gefüllt wird und binde diese dann an das DatagridView.
Das heißt also ich muss diese Werte in das DataTable zurückschreiben und dann SqlDataAdpater.Update(dataTable) ausführen?

28.02.2011 - 08:54 Uhr

verwendetes Datenbanksystem: <MS SQL Server 2005>

Hallo,
ich weiss, dass dieses Thema schon sehr häufig angesprochen wurde...

Ich habe ein DataGridView, wo Werte aus einer Datenbank drin stehen, der User kann diese Werte bearbeiten und auch neue Zeilen hinzufügen und Werte eintragen. Zum Schluss habe ich einen Button, der dann die neuen und auch geänderten Werte wieder in die Datenbank speichern soll. Sowas ähnliches habe ich ja auch unter

mycsharp

Datagrid ändern, speichern

gefunden.

Über den SqlAdapter soltle das mit der Update-Methode funktionieren, wie bekomme ich jedoch ein Dataset mit Werten aus einem DataGridView gefüllt!? oder ist meine denkweise falsch?

24.02.2011 - 14:15 Uhr

ich nutze zwar die 2005er version, aber das hat auch funktioniert 😃 danke

24.02.2011 - 13:00 Uhr

ist es möglich irgendwie noch herauszufinden, die dazugehörige Tabelle herauszufinden also z.b. HausID ist Fremdschlüssel in Tabelle1 und in Tabelle2 ist der Primärschlüssel ja dann HausID, da möchte ich dann den Namen der Tabelle(hier Tabelle2) herausfinden.

24.02.2011 - 12:30 Uhr

danke xxx. das habe ich gesucht und es hat auch funktioniert

24.02.2011 - 11:27 Uhr

danke erstmal für diesen tipp aber ich meinte sowas:

select  * from information_schema.table_constraints where Table_name = 'Tablename'
and Constraint_Type = 'FOREIGN KEY'

als Ergebnis kommt heraus: Spalten Constraint_catalog, constraint_schema,constraint_name,...

Nun gut aber jetz möchte ich den genauen Namen der Spalte mit dem Foreign Key???

23.02.2011 - 13:24 Uhr

verwendetes Datenbanksystem: <MS SQL Server 2005>

Hallo,

ich muss bestimmte Werte in einer Tabelle aktualisieren.

Ich habe z.b. eine Tabelle Kunde mit dem Primärschlüssel Kundennummer und eine weitere Tabelle Auftrag, die als Fremdschlüssel die Kundennummer enthält.

Jetz habe ich Werte z.b. Max Mustermann hat Auftrag 1 anstatt den Auftrag 2, die ich in der Tabelle Auftrag aktualisieren möchte, da ich jetz aber nur den Namen vorgegeben habe, aber in der Tabelle Auftrag nur die Kundennr ist, muss ich feststellen das Kundennr der Fremdschlüssel ist und dadrüber dann zur Tabelle Kunde bei Max Mustermann die Auftragsnr 2 in 1 umändern. Jedoch hab ich nur eine Tabelle, die ich kenne und muss somit die "verbundenen" Tabellen herausfinden. Also kurz gesagt: eine Tabelle mit ein oder mehreren Fremdschlüsseln. Wie finde ich dazu die entsprechende Tabelle und wie kann ich die Werte dann in dieser aktualisieren? ich hoffe das klingt jetz nicht zu doof...

Vielen Dank.

21.02.2011 - 14:31 Uhr

hmm meinst du die Spezifikation mit dem Autofilter?..das funktioniert einwandfrei, aber ich möchte es ja nur erweitern

21.02.2011 - 14:18 Uhr

hmm ja bloß ich möchte bzw muss das so machen, weil ich den Autofilter verwende und z.b. jetz nach bestimmten Spalten einschränken möchte. Also es stehen dann noch mehrere Spalten da, es betrifft im diesem fall nur eine Spalte. hmmm etwas schwieirg zu erklären..

21.02.2011 - 14:07 Uhr

Hallo,

ich habe eine String liste

 private List<string> list = new List<string>();

und möchte diese sobald sie gefüllt wurde, in ein DataTable speichern. (Da möchte ich machen um später dieses Datatable an eine Datagridview zu binden ,also im Prinzip mir diese Liste in ein Datagridview anzeigen zu lassen.

Vielen Dank.

16.02.2011 - 15:33 Uhr

Hallo,

ich habe mehrere bzw. viele RadioButtons in meiner Form. Ich möchte den aktuellen RadioButton herausfinden, der gerade ausgewählt wurde, also


if (radioButton1.Checked)
{
        Name = radioButton1.Name;

}

da ich aber so viele habe, ca. 20 Stück, ist es sehr aufwendig jeden RadioButton auf checked = true zu überprüfen. Gibt es nicht noch eine andere Möglichkeit z.B. über die Controls der Form also Form1.Controls. .... und dann mit einer Schleife die Controls (Radiobuttons) auf checked = true, den namen auszuelsen und dann fertig!?

Vielen Dank im Vorraus.

11.02.2011 - 13:27 Uhr

ja das habe ich ja auch so umsetzen können, ich muss jetz die bindingsource im code selber einfügen.

11.02.2011 - 10:56 Uhr

habe jetz versucht über

dataGridView1.Columns.Add(System.Windows.Forms.??)

den DataGridViewAutoFilter zu nutzen, jedoch kann ich den DataGridViewAutoFilter nicht auswählen( anstelle der ??).

11.02.2011 - 09:44 Uhr

ja kann ich so nicht machen, da ich die Spalten im Code erst hinzufüge. aber es müsste doch dann auch möglich per code den Columntype zu ändern oder!?

10.02.2011 - 16:31 Uhr

naja so änhlich wie ein Autofilter, halt damit ich bestimmte Spalten nur anzeigen lassen kann bzw nach bestimmten Werten einer Spalte anzeigen lassen kann (wie bei Excel).

10.02.2011 - 15:03 Uhr

Hallo,

ich hab ein DataGridView welches mit Daten aus einer Datenbank gefüllt wird. Jetzt möchte ich alle Spalten beliebig filtern können.

Ich habe bis jetzt nur die Möglichkeit gefunden, über eine BindingSource den DataGridViewFilter zu nutzen.

Building a Drop-Drown Filter List for a DataGridView Columns Header Cell

mein code:



...

sqlDataAdapter = new SqlDataAdapter("select * from Namen", sql_connection);

sqlDataAdapter.Fill(dataTable);

dataGridView1.DataSource = dataTable;


Gibt es die Möglichkeit jetz die Spalten mit einem "AutoFilter" zu versehen?

Danke im Vorraus.

10.02.2011 - 14:38 Uhr

ich habe die falsche Klasse benutzt. das war mein fehler

09.02.2011 - 12:48 Uhr

nee ich wollte eigentlich nur damit sagen, dass die Methode in einer anderen Klasse aufgerufen wird.da habe ich mich wohl undeutlich ausgedrückt.
ich wollte eigentlich nur wissen, warum er mir daten im datagridview nicht anzeigt!?

09.02.2011 - 11:40 Uhr

Hallo,
ich habe eine Methode, die ein DataGridView mit Daten aus einem DataTable füllen soll.
In einer anderen Klasse wird diese Methode aufgerufen und das DataGridview soll angezeigt werden. Hier mein Code dazu:

 
public void DataGridViewMitWertenFüllen()
        {
           DataTable dataTable = new DataTable();
           SqlConnection sql_con = new SqlConnection();
            

            sql_con.ConnectionString = "Data Source= ...;" +
                                       "Initial Catalog = ...;" +
                                       "Integrated Security=True";

            sql_con.Open();

            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from LKW", sql_con);

            sqlDataAdapter.Fill(dataTable);
            
            ((DataGridView) dataGridview2.Controls["dataGridView1"]).DataSource = dataTable;

            
        }

in der anderen Klasse rufe ich DataGridViewMitWertenFüllen() auf und es werden keine Werte im Datagridview angezeigt. Die Klasse, in der DataGridViewMitWertenFüllen() ausgefüht wird, veerbt von einer anderen Klasse, die ein Formular ist mit einem DataGridView. DataGridViewMitWertenFüllen() rufe ich jedoch in einer anderen Klasse und nicht in der "Basisklasse".
es wäre nett, wenn mir einer ein Tipp gibt was ich falsch mache.

Vielen Dank im Vorraus

05.01.2011 - 10:16 Uhr

verwendetes Datenbanksystem: <SQL Server 2005>

Hallo, ich habe automatisch mit Visual Studio einen TableAdapter (Datenquelle bei DataGridview) hinzugefügt. Dabei wird jeweils ein TableAdapter für die Tabellen in der Datenbank, ein DataSet und die DataSetBindingSource erstellt.
Jetzt habe ich versucht aus einer anderen Klasse heraus, das DataGridView entsprechend mit Daten aus der Datenbank zu füllen. Und zwar so:

 public void ladenTabelleEingabeNr()
        {
           eingabe_NrTableAdapter1.Adapter.Fill(testdatenbankDataSet.Eingabe_Nr);

        }

Es kommt eine Fehlermeldung:

Die SelectCommand-Eigenschaft wurde nicht initialisiert vor dem Aufruf von: 'Fill'.

Welche SelectCommand-Eigenschaft? Hoffeentlich kann mir einer sagen , was ich hier falsch mache.
Vielen Dank im Vorraus.

Gruß,

Sonne.

04.01.2011 - 11:17 Uhr

Hallo,
ich bin am verzweifeln 😦 habe nach
Panes shift during runtime

versucht, seine Schritte umzusetzen, aber das funktioniert nicht

if (count < this.ShowPanes && this.ShowPanes > 0)
{
pane.ShowOnList = true;
}
else
{
pane.ShowOnList = false;
}

Eigenschaft ShowOnList kennt er nicht.
Hat nicht einer einen anderen Ansatz für mich? Geht das nicht irgendwie einfacher? z.B. Die Anzeige der Panes einfach festlegen?

03.01.2011 - 13:14 Uhr

Danke Th69!

Genua das habe ich gesucht, jedoch steige ich bei der lösung noch nicht ganz durch, weil es ziemlich komplex ist. Mal schauen was ich daraus entnehmen bzw wiederverwenden kann.

Trotzdem schonmal Danke!

Gruß,
Sonne123.

03.01.2011 - 11:22 Uhr

Ja habe ich auch. Jedoch gibt es bei dem Discover Panel nicht so eine BringToFront-Methode.
Nochmal zum Discover Panel:
Das Discover Panel bzw. Disover Control kann man mit Outlook vergleichen.

Vielleicht hilft das weiter, sobald ich (siehe Bild) auf "FileSystem" klicke, springt das einfach runter und "EMail" steht oben an erster Stelle.

03.01.2011 - 09:00 Uhr

Hallo herbivore,

was ist denn der Z-Index? davon hab ich leider noch nichts gehört.

Gruß,

Sonne123.

28.12.2010 - 17:47 Uhr

Hallo,

ich habe ein DiscoverControl mit mehreren DiscoverPanes. Kompiliere ich das Programm und klicke auf die Panes ändert sich einfach die Reihenfolge der Panes.
Habe schon probiert die Reihenfolge vorzugeben, was auch nicht funktioniert hat. Dann habe ich probiert, ob sich der Tabindex nachdem Klicken ändert. Tut er aber auch nicht.
Ich hoffe mir kann einer weiterhelfen.

Mfg,

Sonne123

17.12.2010 - 10:54 Uhr

ok,
ich habe das Problem gelöst. Habe das Event an einer falschen Stelle eingetragen, aber Sinn macht es für mich nicht.

17.12.2010 - 10:29 Uhr

Ja, das eintragen in der designer-codedatei:

this.discoverPane1.Click += new System.EventHandler(this.discoverPane1_Click);

und auch das eintragen in der codedatei der windows form (wie oben).

Gruß,
Sonne.

17.12.2010 - 10:23 Uhr

Hallo,

ich habe eine Anwendung, in der ich ein DiscoverPanel benutze. Jetzt möchte ich natürlich, dass auch was passiert wenn ich ein bestimmtes Discover Panel anklicke.

  1. wenn ich auf ein Discover Panel doppelklick mache, wird das Event zwar im Designer eingetragen, jedoch gelange ich nicht, wie sonst immer, zur entsprechenden Stelle, in der das Event eingetragen wird. warum?
private void discoverPane1_Click(object sender, EventArgs e)
        {
            
        }
  1. sobald ich auf das Click-Event reagieren will, komme ich nicht zur Stelle, also kann nicht debuggen.

Vielleicht hat ja einen Tipp für mich.

10.12.2010 - 12:54 Uhr

Hallo,

ich möchte meinen Inhalt aus einem Datagridview über das Printdocument drucken.

 DialogResult result = printDialog1.ShowDialog();
            
            printDialog1.Document = printDocument1;

            
            if (result == DialogResult.OK)
            {
                printDocument1.Print();
            }

Wie kann ich jetzt dem printdokument sagen, dass ich mein Datagridview ausdrucken möchte?

09.12.2010 - 09:01 Uhr

danke für die Antworten.
Jedoch kann ich vorher nicht festlegen welcher User welche Berechtigungen hat, weil sich immer wer anders am Server anmelden könnte. Ist es nicht einfach möglich die jetzt derzeitigen Werte, die in der Datenbank bzw in den Tabellen stellen, sowas wie schreibgeschützt zu machen. Einfach nur, dass die alten Werte nicht überschrieben werden.
Vielleicht hat ja einer noch einen kleinen Tipp, sonst wäre noch die Möglichkeit, dass wenn der User die Werte ändert, eine Meldung aufpoppt z.b. "Die Werte werden geändert!".

07.12.2010 - 14:45 Uhr

Hallo impact_1991,

danke für deine schnelle Antowrt, jedoch kann das mit den Berechtigungen auch nicht funktionieren, da ich ja dann keineweiteren Werte eintragen kann und du weisst, dass muss ja whol noch funktionieren sonst gibts groooooßen ärger!

Gruß,
Sonne123

07.12.2010 - 14:40 Uhr

verwendetes Datenbanksystem: <SQL Server 2005>

Hallo,

ich möchte bestimmte Tabellen schreibgeschützt machen, damit ein User in der Datenbank die bestehenden Werte nicht ändern oder löschen kann. Aber es müssen noch Werte eingetragen und geändert werden können.
Vielleicht hat einer ja ne Idee.

Vielen Dank im Vorraus.