ich verwende ein DataGridView, welches als letzte Spalte T/F verwendet, welches ich dann als DataGridViewCheckBoxCell verwende. Damit wir die Zeile als Häkchen-Spalte angezeigt. Nachdem ich nun einzeln die Häkchen setzen kann, werden die Werte anderer Spalten dieser Zeile addiert oder bei Häkchen weg subtrahiert (DataGridView_CellValueChanged). OK, soweit, nun gibt es zusätzlich ein Kontextmenü für alle Häkchen setzen oder alle Häkchen entfernen. OK, geht auch noch. Nun klicke ich mal oder verwende das Kontextmenü und versuche wieder manuell zu klicken, da ist das DataGridView nicht aktualisiert und hat in der Häkchen-Zelle noch nicht den aktuellen Wert... erst beim zweiten mal...passt aber bei mir nicht, da ich ja rechne in DataGridView_CellValueChanged. DataGridView.EndEdit, .Update oder .Refresh schon probiert. Bleibt alles beim Alten. Würde gern nur das DataGridView aktualisieren, hat jemand eine Rat?
ich habe ein DataGridView welches eine DataGridViewCheckBoxColumn Spalte anzeigt und darin soll es möglich sein das Häkchen zu setzen oder nicht und daraufhin wird etwas angezeigt oder nicht. Normalerweise steuere ich die Häkchen über die DB und speichere meine Nutzereingaben aber nun soll das einfach auf der Oberfläche passieren.
Momentan setze ich im CellContentClick des DataGridView CommitEdit und versuche dann im CellValueChanged das Häkchen per:
if (e.ColumnIndex == this.colHaekchen.Index && e.RowIndex != -1)
{
// Handle checkbox state change here
if (this.colHaekchen.Selected)
txt.Visible = true;
else
txt.Visible = false;
}
zu setzen. Raus klicken funktioniert, aber beim wieder setzen des Häkchens wird nicht reagiert und txt nicht wieder angezeigt. Komme da leider nicht weiter.
ist das möglich? Finde einfach keine passende Eigenschaft. Die Anzeige dieser Column befindet sich fast am äußersten Rand meines Fensters und klappt nicht automatisch auf die andere Seite. Sieht komisch aus... Hat jemand eine Idee?
ich schaue in das Dataset was für das DatagridView geladen wird und setze dann, je nach die Farbe der Zeile im Grid (foreach auf Dataset und dann nach Status-Spalte verschiedene Zeilenfarben setzen mit .BackColor). Das geht beim Laden des Fensters auch, aber nachdem in den Header einer Spalte geklickt wurde und sortiert wurde, bleibt die Farbe (logischerweise) auf der Zeile des Datasets. Ich weiß nicht genau woher ich diese Daten nach der Sortierung bekomme, um wiederum da drauf meine Formatierung zu setzen.
ich formatiere mein Datagridview bei der Anzeige, nur leider fliegt meine Formatierung nach der ersten Sortierung auf eine beliebige Spalte weg. Wie setzt man die Formatierung wieder auf die korrekte Zeile bei allen Zeilen im Datagridview? Das Sortieren ist für alle Spalten eingeschalten.
Irgendwie klappt alles versuchte nicht wirklich. Habt ihr eine Idee?
Ich setze DataSource, DisplayMember und ValueMember, wie gehabt nur dass meine ValueMember keine Id ist sonder ein Buchstabencode, damit kann die ComboBox nichts anfangen und zeigt mir die Einträge in der ConboBox zur Laufzeit aus einer falschen Spalte an usw. und nach etwas Recherche im Internet habe ich nur gelesen, dass als ValueMemeber immer Ids verwendet werden.
Kurz:
Die Datenbank-Tabelle besitzt keine Id, nur einen Buchstaben-code der als Valuemember in der ComboBox verwendet werden soll. Ist mir noch nie aufgefallen, dass das nicht geht...
Habt ihr eine Idee?
kurz noch was zum Thema. WinForms-Anwendung und beim Starten der Anwendung werden alle Controls und Tabs korrekt geladen und von mir durch eine Prozedur gesteuert, die den Zustand der Controls angibt (Enable, Visible usw.) Bis hierhin funktioniert alles. Nun bedarf es einer weiteren Automation uns Steuerung der Controls, wenn ein Nutzer etwas speichert und da passiert es. Gespeichert wird und dann rufe ich die Methode die meine Controls enabled oder visibled und dann werden die Controls der 1. Registerkarte auf der 2. Tabpage angezeigt. Anzeigefehler, da, wenn ich auf die 2. Registerkarte noch mals klicke, dann alles wieder korrekt angezeigt wird. Komme einfach nicht weiter.
Methode für den Zustand ist wie folgt aufgebaut: STATUS-Spalte aus der Prozedur gibt Kürzel zurück und danach wird geschalten. Besonderheit, bei "I", sollen die Registerkarten RemoveByKey werden, das tun sie bis jetzt auch, aber eben nur, wenn ich die Anwendung starte und das Fenster öffne. Ist das vielleicht ein Instanzen-Problem der TabPages?
momentan drucke ich per new Process() mit Verb = "print", sodass ich da keine weiteren Einstellungen habe bzw. auch keine Infos über den Druckauftrag. Nun möchte ich den Druckauftrag benutzerdefiniert abbrechen, wenn nötig. Ist das so überhaupt möglich? Oder komme ich garnicht mehr an den Druckauftrag, den ich per "print" ausgelöst habe? Das Thema Drucker ist sehr komplex, ich hätte gern nur einen Ansatz, wie ich an diese Sache rangehe, ist da PrintSystemJobInfo-Klasse usw. überhaupt das richtige?
wie der Titel schon verrät, habe ich nach speichern von verschiedenen Dateinen (.doc, .pdf) ein Problem mit den Zugriff auf das Verzeichnis in das ich die Dateien ablegen möchte. Momentan lege ich ein Word-Dokument ab und möchte dann ein PDF-Dokument ablegen, dann kommt der Zugriffsfehler, wie kann ich das Problem lösen, da ich in diesem Verzeichnis alle Dateien, die zusammengehören ablegen möchte und später weiterverwenden möchte. Hat jemand einen Lösungsansatz?
Habe mich jetzt für die Variante Word->PDF->Anzeige entschieden, alles andere ist leider, wie du selber bemerkst zu zeitaufwendig. Trotzdem Danke für den Denkanstoß.
wie schon im Titel benannt, möchte ich Word-Dokumente einfach nur anzeigen, aber nicht, dass das webBrowser-Objekt ein neues fenster als Instanz vom Word öffnet, sondern das Word dokument eingebettet in meiner Form. Hab leider nix gefunden:( Weiß jemand Rat?
Habe mir ein Testprojekt gestrickt und zweimal abgeleitet und Code reinkopiert, funktioniert :( Normalerweise versuche ich das mit dem kleinen Testprojekt auch immer mal, nur hier habe ich den Wald vor lauter Bäumen nicht mehr gesehen und da der Code in mehreren anderen Fenstern funktioniert hat, konnte für mich hier nur ein Bug oder eine falsche Programmierung Schuld sein. So da werd ich mir das ganze mal zu Gemüte führen und nacheinander auskommentieren... :(((
Hab jetzt noch mal etwas recherchiert, aber man findet diesbezüglich nichts, außer, dass im Designer vermehrt Probleme mit Controls in vererbten Fenstern auftreten können, aber der Designer hat doch in diesem Fall gar nichts damit zutun. Ich habe die InitializeComponents total außen vor gelassen, was ja bis jetzt auch funktioniert hat...
Ja, ich habe einfach im Fenster (1) alles so codiert, dass es funktioniert und diesen Code ins Fenster (2) kopiert und schon wird der Menüeintrag nicht mehr angezeigt. Kann mir einfach keinen Reim drauf machen :(
Mehr als:
this.Ms.Items.AddRange(new ToolStripItem[] { tmnuÉintrag });
tmnuEintrag.MergeIndex = 2;
tmnuEintrag.MergeAction = MergeAction.Replace; //MergeAction.MachOnly geht auch nicht
tmnuEintrag.Text = "&Test";
ist es ja eben nicht, sodass ich auch einfach nicht weiter weiß, wie und was das Problem sein soll.