Aus Datagridview Datei öffnen


kanada

Mitglied
Ich lasse mir verschiedene, gezielte Dateien in einem Datgridview anzeigen und möchte nun die Möglichkeit haben, wenn ich eine bestimmte Zeile anklicke die ausgewählte Datei geladen wird. Wie kann ich das denn am elegantesten umsetzen?
 

ksk

Erfahrenes Mitglied
Wie bindest du die Daten an.
Zeilenweise oder DataSource?

Elegant (meiner Mainung nach) wäre eine eigene Klasse.
Dieser kann folgende Eigenschaften haben:
Name, Extension, Size, Attributes usw., diese werden dann im Grid auch autom. angezeigt.

Dieses Objekt kannst dann in dein DataGrid anbinden und nach Auswahl den Inhalt laden.
Bsp (nicht getestet):
Code:
class myObjekt
  {
  string name, ext, size, pfad;
  bool archiv, hidden;
  public myObjekt(string _name, string _ext, string _size, string _pfad)
  {
  name = _name;
  ext = _ext;
  size = _size;
  pfad = _pfad;
  }
  public string Name { get { return name; } set { name = value; } }
  public string Ext { get { return ext; } set { ext = value; } }
  public string Size { get { return size; } set { size = value; } }
  public string Pfad { get { return pfad; } set { pfad = value; } }
  }

List<myObjekt> liste = new List<myObjekt>();
void holeDateien(){
  string[] dateien = Directory.GetFileSystemEntries(pfad);
  foreach (string s in dateien)
  {
  FileInfo fi = new FileInfo(s);
  liste.Add(new myObjekt(fi.Name, fi.Extension, fi.Length, fi.FullName));
  }
  dg.DataSource = liste;
  dg.DataBind();
}


  void dg_SelectedIndexChanged(object sender, EventArgs e)
  {
  if (dg.SelectedItem != null)
  {
  RichTextBox.Text = "";
  using (StreamReader SR = new StreamReader(liste[dg.SelectedIndex].Pfad))
  {
  RichTextBox.Text = SR.ReadToEnd();
  }
  }
  }
Hoffe das hlft dir weiter.

Lg
ksk
 
Zuletzt bearbeitet: