Laden...

Forenbeiträge von MrChangeLog Ingesamt 121 Beiträge

26.10.2018 - 17:32 Uhr

Stack Overflow ultimately has much more in common with Wikipedia than a discussion forum.

Diese Aussage kann ich beim besten Willen nicht nachvollziehen (ja, ich habe den ganzen Artikel gelesen).

27.07.2018 - 17:16 Uhr

public DateTime getDateOfTomorrow()
{
    Thread.Sleep(1000 * 60 * 60 * 24);
    return DateTime.Now;
}

😉

07.06.2018 - 13:57 Uhr

Das einzige was Gurte mit individueller Freiheit zu tun haben: man kann SELBST entscheiden, ob man ihn nutzt.

Nein kann man nicht! StVO §21a

28.05.2018 - 09:40 Uhr

Ich habe ein(!) Mal etwas auf Amazon gekauft. Nein danke, nie wieder! Sehe den Vorteil von Amazon gegenüber konventionellen Einkaufsarten ohnehin nicht.

Zum rest: ich beteilige mich gerne an einer Demo im Büro eines Bundestagsabgeordneten, bei der bei Kaffee und Kuchen eine Petition zum Boykott unseriöser Meinungsumfragen erstellt wird!

05.02.2018 - 08:13 Uhr

Sagt es doch wie's ist: dr4g0n76 ist ein geachtetes Mitglied der Community. Daher drückt man bei ihm gerne mal beide Augen zu.
Hätte ich einen solchen Thread eröffnet, wäre er schon längst geschlossen.

16.10.2017 - 08:50 Uhr

Wie bzw. mit was soll es ersetzt werden?

Nun möchte ich alle , durch ; ersetzen 😉

Billig Lösung wäre folgendes:

  
string saubererText = text.Replace("\";\"", "\"\"");  
  

Dies ersetzt dann billig deine "," durch "".

Nein tut es nicht. Es ersetzt ";" durch "". Da aber in WiglWagl's string keine ";" vorkommen ersetzt es nichts.

27.07.2017 - 15:47 Uhr

Kann mir jemand weiterhelfen?

Ohne eine einzige Zeile deines Codes zu sehen? Nein.

24.07.2017 - 10:37 Uhr

Zusatz: der erste Codteil wird in der Page-Load-Methode aufgerufen.

24.07.2017 - 10:26 Uhr

Ich habe ein gridView, dass ich (indirekt) mit Daten aus einer MSSQL-Datenbank befülle:
('daten' ist der Name des GridViews; die DataSource (inkl. Select-Command) wird im aspx-File definiert)


if (!IsPostBack)
{
    datasource.ConnectionString = //Connectionstring
    DataView view = new DataView();
    view = datasource.Select(DataSourceSelectArguments.Empty) as DataView;
    daten.DataSource = view;
    daten.DataBind();
    ViewState["dtbl"] = view.ToTable();
    setTablePreferences();
}

Den ViewState rufe ich in der Sorting-Methode wieder auf:


protected void daten_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable dataTable = ViewState["dtbl"] as DataTable;

    if (dataTable != null)
    {
        DataView dataView = new DataView(dataTable);

        if (e.SortDirection == SortDirection.Descending)
        {
            dataView.Sort = e.SortExpression + " ASC";
        }
        else
        {
            dataView.Sort = e.SortExpression + " DESC";
        }
        daten.DataSource = dataView;
        daten.DataBind();
        ViewState["dtbl"] = dataView.ToTable();
    }
}

Das Problem ist nun: e.SortDirection ist immer 'Ascending'. Ich hatte gehofft, dass im ViewState die SortDirection korrekt übergeben wird, aber auch da ist sie immer 'Ascending', auch wenn sie in der dataview (die ich ja als DataTable in den ViewState speichere) 'Descending' ist.
Wie kann ich das Problem lösen?
(gegoogelt und im Forum gesucht hab ich schon, aber nichts gescheites gefunden)

20.07.2017 - 10:24 Uhr

PS: Du weißt, dass WebForms nicht mehr weiterentwickelt wird und bereits seit 3 Jahren abgekündigt ist?

Nochmal dazu: ich kann irgendwie nirgends etwas finden, dass deine Aussage bestätigen würde. 🤔

19.07.2017 - 16:21 Uhr

:]

  
function setWidths() {  
    var daten = document.getElementById("daten");  
  
    for (var i = 0; i < daten.rows[0].cells.length; i++) {  
        daten.rows[0].cells[i].width = daten.rows[1].cells[i].offsetWidth - 18 + "px";  
    }  
}  
  

Komisch ist nur: die Zellen erhalten zwar die korrekte Breite (offsetWidth), werden aus unerfindlichen Gründen aber (alle) um 18px zu gross angezeigt (daher das "-18" im Code).

(Korrektur: es sind tatsächlich 17px) Ich habe mich etwas schlau gemacht und gehe nun davon aus, dass sich die 17px wie folgt zusammensetzen: margin-left 8px + margin-right 8px + border 1px.

Nur eins verstehe ich nicht: die erste Zelle des Headers hat nun eine Breite von 269 Pixel. Die Zelle direkt darunter hat (laut Box Modell) eine Breite von 268.4 Pixel; den Unterschied von 0.6 Pixel sieht man leider. Aber: wie geht das überhaupt? Sowas wie "Zentelspixel" gibt es doch gar nicht?

19.07.2017 - 12:59 Uhr

Ich komm schon ganz gut klar 😉

Unfreundlich ist gar kein Ausdruck 8o

Wenn du klar kommst, dann lass uns doch mit deiner hochnäsigen Arroganz in Ruhe!

18.07.2017 - 14:05 Uhr

Wenn wir so ("macht ja nix") an die Sache gehen, dann wird die Diskussion sinnfrei. Dann hast Du DevOps "Release" einfach nicht verstanden. ⚠

Stimmt, habe ich nicht 😉

18.07.2017 - 13:53 Uhr

Neu builden ist nicht DevOps-konform.

Macht ja nix.

17.07.2017 - 14:07 Uhr

Nun klappt es!

ClientScript.RegisterStartupScript(daten.GetType(), "JavaScriptFile", "setWidths()", true);

und


function setWidths() {
    var daten = document.getElementById("daten");

    for (var i = 0; i < daten.rows[0].cells.length; i++) {
        daten.rows[0].cells[i].width = daten.rows[1].cells[i].offsetWidth - 18 + "px";
    }
}

Komisch ist nur: die Zellen erhalten zwar die korrekte Breite (offsetWidth), werden aus unerfindlichen Gründen aber (alle) um 18px zu gross angezeigt (daher das "-18" im Code).

17.07.2017 - 11:34 Uhr

Hallo,

Ob das alles in Deinem Fall hilft weiss ich nicht. Deine Methode ergibt nicht wirklich Sinn. Du versuchst die Width für jede Zelle zu stezen, aber nur in der ersten Zeile ?!? Was soll der Browser Deiner Ansicht nach damit anfangen?

Gruß, MarsStein

Im Prinzip steht alles im Startbeitrag: die Breite der Spalten im GridView wird vom jeweiligen Inhalt bestimmt - genauer: das GridView enthält Strings verschiedener Länge; die Breite der Spalte entspricht dem längsten String in dieser Spalte (+ 8px Padding links und rechts).

Wenn ich den Header nun fixiere, orientieren sich seine Zellen nicht mehr am Rest des GridViews sondern passen die Breite an ihren eigenen Inhalt an (siehe Bild im Startbeitrag).

Mit dem Skript möchte ich nun erreichen, dass jede Zelle des Headers (=daten.rows[0]) die gleiche Breite hat, wie die entsprechende Zelle der ersten Zeile (=daten.rows[1]) des GridViews (ich könnte auch eine beliebige andere Zeile als Referenz nehmen, da ja alle gleich Breit sind).

17.07.2017 - 11:06 Uhr

Dass dieses Body-Onload Event funktioniert/funktionieren könnte ...

  1. es funktioniert ja eben nicht (bzw. das Skript wird ausgeführt, hat aber nicht das gewünschte Ergebnis).

  2. Ich habe es auch schon mit 30000ms (30s) getestet. Das Ergebnis ist das selbe.

17.07.2017 - 10:55 Uhr

Zusatz:

Mit

<body onload="window.setTimeout('setWidths()',500);">

kann ich das Ausführen des Skripts verzögern, sodass es erst ausgeführt wird, wenn die Seite geladen ist. Funktionieren tut's trotzdem nicht.

17.07.2017 - 10:33 Uhr

Ich habe nun versucht, die Breiten der Zellen im Header via JavaScript anzupassen:


function setWidths() {
    var daten = document.getElementById("daten");

    for (var i = 0; i < daten.rows[0].childElementCount; i++) {
        daten.rows[0].cells[i].offsetWidth = daten.rows[1].cells[i].offsetWidth;
    }
}

Das Skript läuft durch, aber die Breiten ändern sich leider trotzdem nicht.

Edit:

  1. Wenn ich das Skript dem onclick-Event eines Buttons zuweise wird es ausgeführt, hat aber wie gesagt keine Auswirkung. Ich habe den Verdacht, dass da auch ein PostBack ausgelöst wird, was mir dazwischenfunkt.
  2. Wenn ich das Skript dem onload-Event des Bodys zuweise wird es ausgeführt. Das bringt mir aber nichts, da das GridView dann noch nicht geladen wurde.
  3. Wenn ich das Skript dem onload-Event irgend eines HTML-Steuerelements zuweise wird es NICHT ausgeführt.
17.07.2017 - 09:22 Uhr

Ich habe ein GridView mit der ID "daten":


<asp:GridView runat="server" ID="daten">
    <%-- Das GridView wird im Code Behind konfiguriert --%>
</asp:GridView>

Im Code weise ich dem Header und der ersten Zeile jeweils eine ID zu:


daten.HeaderRow.ID = "fixedrow";
daten.Rows[0].ID = "first";

Das Problem: statt den angegebenen IDs erhalten beide Elemente die ID "daten" (ohne zuweisung haben sie KEINE ID). Woran liegt das?

14.07.2017 - 16:31 Uhr

ist ja klar, daß das nicht geht. Die Spaltenbreiten werden ja erst im Browser berechnet...

Aber warum kann ich dann Dinge wie Hintergrundfarbe oder Rahmenart auf diese Weise definieren?

Und ja, die Links kenne ich, aber die bringen mir nichts. Wie ich einen fixen Header machen kann weiss ich ja bereits. Das ist auch nicht das Problem, sondern die Breite.

Edit: wenn ich den Spalten eine fixe Breite geben würde, würds natürlich funktionieren. Das möchte ich aber nicht, da die Basis für Tabellen mit unterschiedlicher Spaltenzahl funktionieren soll und die bei fixer Spaltenbreite sonst schnell viel zu Breit werden würde ... zudem sieht es doof aus, wenn ne Spalte, die z.B. nur 6-stellige Strings enthält 350 Pixel breit ist.

14.07.2017 - 15:46 Uhr

Ich hab versucht, die Sache im Code Behind zu richten:


for (int i = 0; i < daten.HeaderRow.Cells.Count; i++)
{
     daten.HeaderRow.Cells[i].Width = daten.Rows[0].Cells[i].Width;
     // daten ist der Name des GridViews
}

Hat nur leider nicht hingehauen 🙁

14.07.2017 - 14:55 Uhr

PS: Du weißt, dass WebForms nicht mehr weiterentwickelt wird und bereits seit 3 Jahren abgekündigt ist?

Ja weiss ich ... aber meinen Chef interessiert das nicht 🙁

14.07.2017 - 14:46 Uhr

Ich habe folgenden Code:


<div id="datagrid">
        <asp:GridView runat="server" ID="daten">
            <!-- Das GridView wird im Code Behind konfiguriert -->
        </asp:GridView>
</div>

Beim debuggen erhalte ich nun folgende Fehlermeldung:

Fehlermeldung:
Inhalt (<!-- Das GridView wird im Code Behind konfiguriert -->) entspricht keiner Eigenschaft in System.Web.UI.WebControls.GridView; achten Sie auf Wohlgeformtheit.

Was soll denn das? Wartum hängt er sich hier an nem Kommentar auf?

14.07.2017 - 09:22 Uhr

Ich habe in einer ASP.NET-Applikation ein (sehr grosses) GridView. Ich möchte da gerne den Header fixieren, damit man beim scrollen immer sieht, welche Spalte was ist.

Nun das Problem: wenn ich im CSS

position: fixed

eingebe bleibt der Header zwar stehen, hat aber nicht mehr die gleiche Breite wie die Tabelle (siehe Anhang). Das liegt wohl daran, dass sich die Spaltenbreite an der Breite des Inhalts orientiert. Wir krieg ich es nun hin, dass der Header die gleiche Breite wie die Tabelle beibehält?

PS: Zum fixierten Header habe ich noch folgendes gefunden:
Im CSS soll man dies angeben:


POSITION: relative;
TOP: expression(this.offsetParent.scrollTop-1.0);

Allerdings bleibt bei mir der Header so nicht stehen und die Angabe bei "top" führt zu ner Fehlermeldung (ungültiger Wert für Eigenschaft)

12.07.2017 - 13:19 Uhr

Moin Abt,

ja, das ist VSTO\COM. Das die veraltet sind, wüsste ich nicht.

Jedenfalls sind COM- oder VSTO-Add Ins bereits veraltet.

Jetzt weisst du's 😉

12.07.2017 - 10:03 Uhr

Vielleicht einfach den Link noch mal im deutschen MSDN Forum Posten.

Das wäre doch aber Crossposting!

04.07.2017 - 15:00 Uhr

Ich denke nicht, dass das dem OP noch viel hilft. Der Thread ist 6 Jahre alt und der OP hat seit 4 Jahren nichts mehr gepostet 😉

04.07.2017 - 11:12 Uhr

Wir verwenden eine Dokumenten-Basierte bzw. noSQL-Datenbank.

Ich frage mich, wie das dem OP helfen soll. Die App (inkl. Backend) existiert ja schon und so weit ich das verstanden habe steht ein Wechsel der Datenbank nicht zur Diskussion ?(

26.06.2017 - 08:54 Uhr

Jetzt möchte ich den String gerne von rechts aufsplitten, so dass substring[0] in dem Fall immer (blaablaa.csv) ist.

Weswegen muss denn der gesuchte String zwingend "substring[0]" sein? Du könntest die Strings ja auch ganz noormal aufsplitten und der gesuchte String wäre dann "substring[substring.length - 1]".

21.06.2017 - 15:15 Uhr

Es sollte

static DBConfig db_config = new DBConfig();

heissen.

21.06.2017 - 14:32 Uhr

Nur kann ich von meiner Klasse aus nicht auf db_config.dbcount zugreifen

Woran merkst du das?

21.06.2017 - 11:02 Uhr

@MrChangeLog: Weches Betriebssystem verwendest du ?

Windows 7 Pro.

21.06.2017 - 10:32 Uhr

PS: mein IE 11 ruft
>
problemlos auf.

Falls es hilft: mein IE 11 kann https://www.caffe.de/ NICHT aufrufen.

14.06.2017 - 11:54 Uhr

Ist das UserControl ein WPF Element?

Also ein UserControl ist im Prinzip das Grundgerüst für ein selbst zu erstellendes WPF-Element. Im VisualStudio machst du einen Rechtsklick auf dein Projekt und dann Hinzufügen -> neues Element -> WPF-UserControl.

14.06.2017 - 11:29 Uhr

Ich würde so vorgehen:

  • neues UserControl erstellen
  • im UserControl das per Default vorhandene Grid so konfigurieren, dass es eine zeile und fünf (gleich breite) Spalten hat
  • in den fünf so entstandenen Zellen kannst du nun je einen Stern (Images würden sich hier tatsächlich gut eignen) platzieren
  • im Code behind machst du dann die ganze Logik
12.06.2017 - 11:43 Uhr

Folgendes Szenario:
Ich habe ein WPF-Programm mit einem Coded UI Testprojekt.
Das Programm soll ein Reservationstool für ein Autokino sein.
Im MainWindow platziere ich drei verschiedene, selbsterstellte UserControls.
Von diesen drei snd jeweils zwei "Collabsed" und eines "Visible".

Ich möchte nun ein Testprojekt erstellen und verschiedene Aktionen aufnehmen. Beim Ausführen der Tests tritt kurz nach dem Programmstart aber immer die obige Exception auf. Zu diesem Zeitpunkt ist ein UserControl mit zwei Textboxen und einem Button offen. In die Textboxen soll man die Anzahl Reihen und Plätze (pro Reihe) eingeben und dann auf "OK" klicken. Die Texteingabe scheint aber nicht zu funktionieren, da angeblich die Textboxen (bzw. zumindes die erste) blockiert ist.
Ich verstehe aber nicht, wie das gemeint ist. Die TextBox ist im Vordergrund und komplett sichtbar. Blockieren tut da gar nichts.

Kennt sich wer mit Coded UI Tests aus und kann mir helfen?

31.05.2017 - 13:58 Uhr

Lösung gefunden!
Das hier hat gefehlt:


            GridLengthConverter converter = new GridLengthConverter();
            for (int i = 0; i < kinogroesse[0]; i++)
            {
                RowDefinition definition = new RowDefinition();
                definition.Height = (GridLength)converter.ConvertFrom("*");
                kinogrid.RowDefinitions.Add(definition);
            }

            for (int j = 0; j < kinogroesse[1]; j++)
            {
                ColumnDefinition definition = new ColumnDefinition();
                definition.Width = (GridLength)converter.ConvertFrom("*");
                kinogrid.ColumnDefinitions.Add(definition);
            }

31.05.2017 - 13:43 Uhr

Situation:

Ich habe selbsterstelltes UserControl, das aus einem leeren Canvas besteht. Auf diesem Canvas wird dynamisch ein Grid erstellt (Höhe und Breite je nach Anzahl der schlussendlich benötigten Rechtecke).
In diesem Grid werden Rechtecke verteilt.

Hier der Code dazu:


        public void buildKino(Int32[] kinogroesse)
        {
            Grid kinogrid = new Grid();
            kinogrid.Width = kinogroesse[0] * 50;
            kinogrid.Height = kinogroesse[1] * 70;
            parkflaeche.Children.Add(kinogrid);

            for (int i = 0; i < kinogroesse[0]; i++)
            {
                for (int j = 0; j < kinogroesse[1]; j++)
                {
                    Rectangle platz = new Rectangle();
                    platz.Name = "panel" + i + j;
                    platz.Height = 50;
                    platz.Width = 30;
                    platz.Fill = Brushes.Blue;
                    Thickness margin = platz.Margin;
                    margin.Left = 10;
                    margin.Top = 10;
                    platz.Margin = margin;
                    kinogrid.Children.Add(platz);
                    platz.SetValue(Grid.RowProperty, i);
                    platz.SetValue(Grid.ColumnProperty, j);
                }
            }
        }

(parkflaeche ist das Canvas)

Das Int32-Array enthält zwei Zahlen (Anzahl Reihen und Anzahl Rechtecke pro Reihe).
Laut Debugger läuft der Code problemlos ab, aber mir wird jeweils nur ein einziges Rechteck angezeigt.
Kann mir wer sagen wieso?

17.05.2017 - 13:31 Uhr

int rowCount = result.RecordCount;
29.03.2017 - 14:08 Uhr

@Abt: danke für die Links; bringt mir allerdings nichts.

Mit

crp.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "CrystalReport" + crp.Name);

statt dem anderen Gedöns funktioniert es wunderbar 🙂
Nur noch eine Kleinigkeit: mit dem obigen Code wird das PDF im gleichen Tab geöffnet. Kann man das so einstellen, dass es in einem neuen Tab geöffnet wird?

29.03.2017 - 13:28 Uhr

Ok, laut dem Link wird das wohl nicht unterstützt.

ich habe den Code nun umgeschrieben:


DateTime anfang = datum1.SelectedDate;
DateTime ende = datum2.SelectedDate;
int anlageID = Convert.ToInt32(dropdown.SelectedValue);
CrystalReport1 crp = new CrystalReport1();         
CrystalDecisions.Shared.ConnectionInfo conninf = new CrystalDecisions.Shared.ConnectionInfo();

conninf.Attributes = crp.DataSourceConnections[0].Attributes;
conninf.UserID = "sa";
conninf.Password = "passwort";
conninf.ServerName = "servername";

string sqlquery = "SELECT anlagename, zeitpunkt, wert, einheit, abtauung, fehler FROM tabelle " +
                              "LEFT JOIN Anlagen ON anlageFk = Anlagen.id " +
                              "LEFT JOIN einheiten ON einheitFk = einheiten.id " +
                              "WHERE anlageFk = " + dropdown.SelectedValue + " AND " +
                              "zeitpunkt BETWEEN '" + anfang + "' AND '" + ende + "'" +
                              "ORDER BY zeitpunkt;";
crp.SetSQLCommandTable(conninf, "topoff", sqlquery);
crp.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
crp.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
DiskFileDestinationOptions fileOptions = new DiskFileDestinationOptions();
fileOptions.DiskFileName = crp.Name;
crp.DestinationOptions = fileOptions;
crp.Export();

Die letzte Zeile wirft folgende Fehlermeldung:> Fehlermeldung:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Ich habe dazu diese Lösung gefunden. Leider erhalte ich den Fehler aber nach wie vor.
Was nun?

29.03.2017 - 11:20 Uhr

verwendetes Datenbanksystem: MSSQL Server 2012
verwendete Umgebung: Visual Studio 2013 Ultimate mit integriertem Crystal Reports

Folgende Situation: ich habe eine ASP.NET-Webapplikation, in der der Temperaturverlauf verschiedener Kühlgeräte angezeigt wird. Der User kann via Kalender den Zeitraum wählen, für den er den Temperaturverlauf sehen will und sollte sich dann einen Crystal Reports Bericht ausgeben lassen.

Hier mein Code:


DateTime anfang = datum1.SelectedDate;
DateTime ende = datum2.SelectedDate;
int anlageID = Convert.ToInt32(dropdown.SelectedValue);
CrystalReport1 crp = new CrystalReport1();         
CrystalDecisions.Shared.ConnectionInfo conninf = new CrystalDecisions.Shared.ConnectionInfo();

conninf.Attributes = crp.DataSourceConnections[0].Attributes;
conninf.UserID = "sa";
conninf.Password = "passwort";
conninf.ServerName = "servername";

string sqlquery = "SELECT anlagename, zeitpunkt, wert, einheit, abtauung, fehler FROM tabelle " +
                              "LEFT JOIN Anlagen ON anlageFk = Anlagen.id " +
                              "LEFT JOIN einheiten ON einheitFk = einheiten.id " +
                              "WHERE anlageFk = " + dropdown.SelectedValue + " AND " +
                              "zeitpunkt BETWEEN '" + anfang + "' AND '" + ende + "'" +
                              "ORDER BY zeitpunkt;";
crp.SetSQLCommandTable(conninf, "topoff", sqlquery);
MemoryStream oStream;
oStream = (MemoryStream)crp.ExportToStream(CrystalDecisions.Shared.ExportFormatType.HTML40);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "text/html";
Response.BinaryWrite(oStream.ToArray());
Response.End();

Auf der 6.-letzten Zeile (oStream = ... ) wird eine FileNotFoundException geworfen:> Fehlermeldung:

Die Datei "C:\Users\nicolas.burgunder\AppData\Local\Temp\5\cr_export_98671ff9-acee-4567-a799-af6657d9610a.htm" konnte nicht gefunden werden.

Die Datei ist aber sehr wohl vorhanden! Wieso kann sie dann nicht gefunden werden?

Edit: habe überflüssigen Code entfernt.

28.02.2017 - 13:26 Uhr

keiner ne Idee? 🙁

27.02.2017 - 17:03 Uhr

Ich habe ein Textfile mit etwas über 3000 Datensätzen. Diese bestehen aus: Datum (inkl. Zeit, in 10min-Schritten), Temperatur in °C, und zwei booleschen Werten. Mit diesen Daten möchte ich ein Liniendiagramm erstellen. Funtkioniert grundsätzlich auch, bloss dass die Beschriftung der X-Asche nicht so tut wie sie soll.


input.Points.Add(new DataPoint()
{
    XValue = (Convert.ToDateTime(entry[0])).ToOADate(),
    YValues = new double[] { Convert.ToDouble(entry[1]) }
});

Mit diesem Code erstelle ich die Linie. entry[0] ist das Datum und entry[1] die Temperatur.


ca.AxisX.IntervalType = DateTimeIntervalType.Days;

Hiermit lege ich den Intervaltyp der X-Achse fest.

Ich habe nun zwei Kalender implementiert. Mit denen kann man eine bestimmte Zeitdauer (kalender1 = Anfangsdatum, Kalender2 = Enddatum) festlegen und sich die Temperaturdaten für diese Zeit anzeigenlassen. Dabei wird der Intervaltyp der X-Achse auf "Hours" geändert.
Es ändert sich auch etwas, nur wird mir an der X-Achse nur dass Datum, aber keine Uhrzeit angezeigt (siehe Bild). Wieso?

22.02.2017 - 14:39 Uhr

@inflames2k: super, danke, das funktioniert! 👍 🙂

22.02.2017 - 13:55 Uhr

Situation: ich habe eine asp.net-Webapplikation mit einem Chart.
Mit folgendem Code konfiguriere ich das Chart:


Title name = new Title("Titel");
ChartArea ca = new ChartArea();
ca.AxisY.Title = "Anzahl Geräte";
ca.AxisX.LabelStyle.Angle = -90;

Series input = new Series("data");
input.ChartType = SeriesChartType.Line;
input.Color = Color.Red;
input.BorderWidth = 3;

foreach (KeyValuePair<string, double> entry in data)
{
    input.Points.Add(new DataPoint()
    {
        AxisLabel = entry.Key,
        YValues = new double[] { entry.Value }
    });
}

Mit der 4. Zeile möchte ich erreichen, dass der Text der AxisLabels vertical dargestellt wird. Funktioniert aber nicht. Was mache ich falsch?

07.02.2017 - 14:58 Uhr

Übersetzung des Startbeitrags: bitte schreibt mir einen Code!

Antwort: Nein!