Ich hab hier ein kleines Problem, vielleicht kann mir ja einer den passenden Hinweis geben, ich welche Richtung ich denken muss.
Ich habe eine ListBox als Übersicht aller Aufträge, diese kann ich durchsuchen lassen nach Aufträge die älter als x-Tage sind und lass mir diese in einer anderen Listbox ausgeben.
lbAuftragAlt.Items(_sa.ToString()); // _sa ist zum Beispiel "xa5254"
Die Aufträge stehen dann in der zweiten ListBox ordnungsgemäß drinnen. Wenn ich dann aber mit den Daten aus der zweiten ListBox weiter arbeiten möchte, kann ich diese nicht erfragen. Da die ListBox laut Fehlermeldung: Das Objekt des Types "System.String" kann nicht in Typ "System.DATA.DataRowView" umgewandelt werden.
foreach (DataRowView drv in lbAuftragAlt)
{
string lbA = (drv.Row[lbAuftragAlt.ValueMember].ToString());
...
}
mit dem selben Code kann ich aber die Daten aus der ersten ListBox abfragen.
Danke ihr beiden, hab es gefunden, hatte mir dazu aber code mäßig schon selber ein Bein gestellt.
Aber mal was anderes, wenn ich etwas umändere, müsste ja das Changed Event kommen, statt dessen löst es immer das Delete Event aus. Ich kann Dateien und Ordner umbenennen wie ich möchte, es ist immer Delete statt Change.
Hallo,
jeder kennt ja den File Watcher, ich bräuchte nun aber für ein Objekt einen Folder Watcher. Also ich muss prüfen ob ein Ordner erstellt wurde, gelöscht, etc. und nicht die Dateien darinnen.
Gibt es dafür Lösungsansätze? Habe nur 2-3 fertige Anwendungen gefunden die das können, aber keinen Hinweis dazu wie es umgesetzt wurde.
Vielleicht hat netterweise von euch jemand eine zündende Idee und schon mal danke.
Hallo,
ich habe derzeit ein kleines Problem, finde aber trotz einiger Tage suchen keinen Denkfehler, wieso mein Vorhaben nicht geht.
Ich möchte in einer Funktion eine Excel Datei öffnen und zu einem bestimmten Worksheet springen und dann an einer bestimmten Stelle etwas einfügen.
Ich kann dabei Problemlos die Excel Datei laden und an Stelle xyz etwas ändern und einfügen. Was nicht geht, zum gewünschten Worksheet zu springen.
excelFVX = "file://" + item.folder;
Microsoft.Office.Interop.Excel.Application excel = null;
Workbook wb = null;
excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = true;
wb = excel.Workbooks.Open(excelFVX, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Sheets sheets = wb.Worksheets;
Worksheet ws = (Worksheet)sheets.get_Item("FVX" + numberFVX);
Excel verbleibt einfach strikt beim ersten Worksheet bzw. bei dem, wo excel geschlossen wurde. Übergebe ich einen Worksheet Namen der nicht vorhanden ist, bekomme ich logischerweise eine Fehlermeldung, das dieses Worksheet nicht vorhanden ist. Aber wieso springt er dann beim laden nicht zu diesem?
Hallo,
ich habe ein DataGrid was ich mit Daten gefüttert habe und mit Hilfe eines DateView und BindingSource eine Filterfunktion anbiete. Soweit auch kein Problem:
FilterMitarbeiterView.Filter = string.Format("Vorname LIKE '%" + TbFilterMitarbeiterVorname.Text + "%' AND Nachname LIKE '" + TbFilterMitarbeiterNachname.Text + "%' AND Titel LIKE '" + CbFilterMitarbeiterTitelString + "%' AND Bereich LIKE '" + CbFilterMitarbeiterBereichString + "%' AND Toolgruppe1 LIKE '" + CbFilterMitarbeiterToolgruppeString + "%'");
Nun habe ich aber nicht nur eine Toolgruppen Spalte sondern mehrere z.B. 3, wenn ich dazwischen filtern möchte brauche ich OR statt AND
FilterMitarbeiterView.Filter = string.Format("Toolgruppe1 LIKE '" + CbFilterMitarbeiterToolgruppeString + "%' OR Toolgruppe2 LIKE '" + CbFilterMitarbeiterToolgruppeString + "%' OR Toolgruppe3 LIKE '" + CbFilterMitarbeiterToolgruppeString + "%'");
Einzeln Funktionieren beide wie sie sollen, kombiniere ich beide aber in eine Anfrage wird immer nur korrekte zwischen den Toolruppen gefiltert aber nie nach den Namen, Titel, Bereich. Kurz nur alle AND Abfragen bleiben außen vor.
Was übersehe ich gerade? Vielleicht kann mich einer mal drauf anstupsen, bestimmt wieder was ganz einfaches.
Ich muss da jetzt auch mal was dazu Fragen, da ich mich derzeit auch mit dem FileSystemWatcher herumschlage 😃
fileSystemWatcher1 = new FileSystemWatcher();
fileSystemWatcher1.Path = Environment.CurrentDirectory + @"\Data\";
fileSystemWatcher1.Filter = "*.*";
fileSystemWatcher1.NotifyFilter = NotifyFilters.Size;
fileSystemWatcher1.Changed += new FileSystemEventHandler(onChanged);
fileSystemWatcher1.EnableRaisingEvents = true
void onChanged(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Geändert: " + e.Name);
}
Eigentlich ja sehr Simple, nun kann ich aber die Dateien ändern wie ich möchte und abspeichern (Größe ändert sich) doch ein Event wird nicht ausgeführt.
Nehme ich nun LastWrite
System.IO.NotifyFilters.LastWrite
Zündet es mir bei jeden Zugriff, Lesen, Schreiben auf die Datei das Event aber Zugriff ist doch nicht Schreiben?
Hallo Leute,
ich schlage mich hier gerade mit einem eigentlich belanglosen Thema herum aber irgendwie schafft es trotzdem mich gerade etwas zur Verzweiflung zu bringen.
Ich hab in einem Form mehrere DataGridView`s und bei allen ist beim Programm Start die erste Zeile markiert. Dies wünsche ich aber nicht, nur werden meine Bemühungen einfach ignoriert 😦
dataGridView1.Rows[0].Cells[0].Selected = false;
dataGridView1.ClearSelection();
dataGridView1.CurrentCell.Selected = false;
Kennt noch jemand eine Idee?
Hallo,
ich hab hier derzeit ein kleines Problemchen und zwar hab ich derzeit 2 DataGridView in meinen Projekt und bei beiden ist beim Programmstart der Focus gesetzt auf der ersten Zeile.
Allerdings möchte ich das beim Programmstart bei keinem DGV der Focus sitzt und folglich auch die erste Zeile nicht farblich markiert ist
dataGridView1.ClearSelection();
dataGridView1.CurrentRow.Selected = false;
dataGridView1.Focus = false;
etc.
schon probiert und immer lag der Focus an 😦 Jemand einen Tipp wie ich dies unterbinden kann?
Hallo,
eine Anwendung kann man ja lokal ganz einfach neustarten mit
Application.Restart();
greift man nun über einem Netzwerk drauf zu, hab ich das folgendermaßen gelöst
System.Diagnostics.Process NewInstance = new System.Diagnostics.Process();
NewInstance.StartInfo.FileName = Application.ExecutablePath;
NewInstance.Start();
Application.Exit();
Bei dieser Lösung kommt natürlich bedingt jedesmal wieder die Abfrage ob man wirklich mit Adminrechte ausführen möchte. Diese Abfrage kommt bei Application.Restart(); ja nicht jedesmal.
Daher die Frage, gibt es da auch noch eine andere Lösung, bei Zugriff über ein Netzwerk Laufwerk?
Wenn ich "GetConnectivity(NLM_CONNECTIVITY.NLM_CONNECTIVITY_IPV4_INTERNET).Cast<INetwork>();" zum Beispiel verwenden möchte, gibt es dies einfach nicht.
Danke für die schnelle Antwort 😃
Man braucht also die NETWORKLIST.dll und kann dann mit folgenden Code die Abfrage erstellen
using NETWORKLIST;
var manager = new NetworkListManagerClass();
var connectednetworks = manager.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_CONNECTED).Cast<INetwork>();
foreach (var network in connectednetworks)
{
LaNetwork.Text = "" + network.GetCategory();
if (LaNetwork.Text == "NLM_NETWORK_CATEGORY_PRIVATE")
{
LaNetwork.Text = "Heimnetzwerk / Arbeitsplatznetzwerk";
LaNetwork.ForeColor = System.Drawing.Color.Green;
NetworkType.Visible = false;
}
else if (LaNetwork.Text == "NLM_NETWORK_CATEGORY_PUBLIC")
{
LaNetwork.Text = "öffentliches Netzwerk";
LaNetwork.ForeColor = System.Drawing.Color.Red;
NetworkType.Visible = true;
}
else if (LaNetwork.Text == "NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED")
{
LaNetwork.Text = "unbekanntes Netzwerk";
LaNetwork.ForeColor = System.Drawing.Color.Red;
NetworkType.Visible = true;
}
}
Hat man allerdings mehrere, müsste noch eine Auswahl rein welches Netzwerk bzw. Default bestimmen. Bei mir zeigt er immer das VMware Netzwerk an 😕
Ich hoffe ich halbwegs den richtigen Forumsbereich erwischt, passt irgendwie in mehrere, als wenn falsch bitte verschieben, danke.
Also ich hab mir mal wieder ein kleines Helferlein geschrieben und würde nun noch eine Funktion integrieren, doch habe ich dazu nix finden können. Vielleicht gibt es auch überhaupt keine Möglichkeit dafür.
Und zwar würde ich gerne die Network Location, Type oder wie auch immer man dies bezeichnen möchte auslesen und ggf. ändern.
Hat da jemand eine Idee?
Tschuldigung, hat sich alles bissl überschnitten, hab eure Beiträge erst nach dem edit gesehen.
Also bekomme folgendes zurück: ExecuteNonQuery: Connection-Eigenschaft wurde nicht Initialisiert
verwendetes Datenbanksystem: <SQL CE / MS Server Compact>
Servus Leute,
ich bin hier gerade echt am zweifeln, ich kann ohne Probleme auf die Daten in der Datenbank zugreifen, löschen, anlegen, auslesen ... nur eines bekomme ich nicht hin, einen Datensatz zu ändern (UPDATE).
Ich habe eine DB mit der Tabelle "Quarz" und möchte dort anhand der Spalte "Seriennummer" das gewünschte Teil filtern und dann die Spalte "CleanCounter" ändern (Wert +1).
SqlCeCommand update = new SqlCeCommand("UPDATE Quarz SET CleanCounter = @CleanCounter WHERE Seriennummer '" + CbSeriennummer.Text + "'");
update.Parameters.AddWithValue("@CleanCounter", acZahl + 1);
update.ExecuteNonQuery();
Nur irgendwie macht er einfach nix, nicht mal einen Fehler bringt er 😕
if (CbBezeichnung.Text.Contains("Boat")
Also das hat mir schon gereicht, hab mal nur noch eine Klammer am Ende mehr gesetzt 😉
Also danke euch beiden und einen schönen Feiertag!
Ich möchte gerne bei einer ComboBox den ausgewählten Wert nach einem bestimmten Wort/Silbe filtern/durchsuchen
private void TextBoxes_TextChanged(object sender, EventArgs e)
{
...
// Aktiviere Position`s Combobox nur wenn in Kategorie das Wort/Silbe Boat enthalten ist
if (CbBezeichnung.Text == "Boat")
{
CbPosition.Enabled = true;
}
// sonst lass es deaktiviert und setz den Wert auf unbekannt
else
{
CbPosition.Enabled = false;
CbPosition.Text = "Unbekannt";
}
}
Nun ist aber mein Problem, das es nicht nur mal rein Boat heißt, sondern auch "SiC Boat" oder "Boat SiC" etc. heißen kann.
Also bringt mich die exakte Suche von oben erstmal nicht viel weiter, folgendes geht ja auch nicht.
"'%" + "Boat" + "%'"
Entweder hab ich heute Nacht gerade so meine Gedankenfehler 😕 Wie könnte ich das denn am einfachsten realisieren.
Ich lese Daten aus einer Datenbank aus und lasse diese in einer DataView sortieren:
SqlCeCommand cm = new SqlCeCommand("SELECT Anlage FROM Anlage WHERE Kategorie='" + Id.ToString() + "'", cn);
SqlCeDataAdapter da = new SqlCeDataAdapter(cm);
DataSet ds = new DataSet();
da2.Fill(ds, "Anlage");
DataView dv = ds.Tables[0].DefaultView;
dv2.Sort = "Anlage ASC";
CbAufenthaltsort.DisplayMember = "Anlage";
CbAufenthaltsort.ValueMember = "Anlage";
CbAufenthaltsort.DataSource = ds.Tables["Anlage"];
Die Ausgabe erfolgt nun wie folgt:
F100
F1000
F1100
F200
F210
F2000
ich hätte aber gerne lieber das es folgendermaßen sortiert wird:
F100
F200
F210
F1000
F1100
F2000
Nun kenne ich aber ASC und DESC aber wie kann ich das sonst noch realisieren? Gedanken Anstöße würden mich sehr freuen.