Laden...

DataView ohne Datenbank

Erstellt von schaedld vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.572 Views
schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren
DataView ohne Datenbank

Hallo zusammen
Ich bin neu und bin momentan an einem Problem, dessen Lösung ich leider nicht mehr ganz so sehe. Darum wäre ich für Hilfe sehr dankbar.

Ziel ist es eine WMI Abfrage von C# aus (ASP.NET) zu tätigen, die Ergebnisse dann in einer foreach Schleife ausgeben und dann die Spalten, Attributnamen an das DataView binden möchte.

leider erhalte ich nach der versuchten Kompilierung den Fehler "Datenquelle verfügt nicht über die von Ihnen angegebene Datenquelle".

Danke für eure Hilfe.

Gruss
Daniel

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

2.082 Beiträge seit 2005
vor 18 Jahren

Hallo schaedld,

eigenes DataSet mit DataTable erstellen und das dann als DataSource verwenden.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren

Danke frisch

Hmm, dann kann ich das DataSet wie gewohnt erstellen?

DataSet WMISet = new DataSet()

Eine DataTable habe ich noch nie erstellt (oder nicht absichtlich).

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

2.082 Beiträge seit 2005
vor 18 Jahren

Ja kannst du.

DataTable wird genauso erstellt.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren

Das hat folgendermassen auch funktioniert (auf jedenfall habe ich keinen Fehler).

Folgenden Code habe ich erstellt:



        WMIDataTable.Columns.Add("Computername");
        WMIDataTable.Columns.Add("Event ID");
        WMIDataTable.Columns.Add("Quelle");
        WMIDataTable.Columns.Add("Message");
        DataSet WMIDataSet = new DataSet();
        WMIDataSet.Tables.Add(WMIDataTable);

        GridView1.DataSource = WMIDataSet;
        GridView1.DataBind();


Ich gehe die Objekte im WMI durch und möchte diese dann von der WMI ManagementObjectCollection die Werte die ich abgefragt habe in die Tabelle speichern. Nun müsste ich ja dies folgendermassen bewerkstelligen.



foreach(ManagementObject man in WMIMenge.Get())
{
          Interative Füllung der Tabellenfelder
}
{/CSHARP]

Danke für weitere Tipps.

Gruss
Daniel

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren

folgender Code wird zwar kompiliert aber die Werte werden nicht in die entsprechenden Columns geschrieben:


        String WMIQuery = "Select EventCode, SourceName, ComputerName, Message from Win32_NTLogEvent where SourceName='DCOM'";
        ManagementObjectSearcher WMISrch = new ManagementObjectSearcher(WMIQuery);
        ManagementObjectCollection WMIMenge = WMISrch.Get();
        DataTable WMIDataTable = new DataTable("WMI Ergebnisse");
        
        WMIDataTable.Columns.Add("Computername");
        WMIDataTable.Columns.Add("Event ID");
        WMIDataTable.Columns.Add("Quelle");
        WMIDataTable.Columns.Add("Message");
        DataSet WMIDataSet = new DataSet();
        WMIDataSet.Tables.Add(WMIDataTable);

        foreach (ManagementObject man in WMIMenge)
        {
            man["ComputerName"] = WMIDataTable.Columns["Computername"].DataType.ToString();
        }

        GridView1.DataSource = WMIDataSet;
        GridView1.DataBind();

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren

Wäre für Hilfe sehr dankbar...

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

N
4.644 Beiträge seit 2004
vor 18 Jahren

Schau Dir mal die Funktion DataTable.NewRow() an.

schaedld Themenstarter:in
1.433 Beiträge seit 2006
vor 18 Jahren

Danke euch für die Hilfe. Ich hab den Wald vor lauter Bäumen nicht gesehen und bin dann nach dem Schema vorgegangen.

Columns, Rows und Tabelle festgelegt und dann die Tabellenwerte als Datenquelle für das DataView Element gebraucht.

Nun funktionierts Danke.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt