--- dao/DaoMqPump2/DaoMqGUI/MainForm.cs 2013/07/10 20:24:16 2012 +++ dao/DaoMqPump2/DaoMqGUI/MainForm.cs 2013/07/12 10:23:03 2013 @@ -64,9 +64,18 @@ return result; } + public int getSelectedTransportIndex() + { + if (transports.SelectedIndices.Count == 0) + return -1; + else + return transports.SelectedIndices[0]; + } + public void loadTransports() { - int selected = transports.SelectedIndex; + + int selected = getSelectedTransportIndex(); if (selected == -1) //er der ikke valgt - vælger vi den første selected = 0; @@ -80,26 +89,31 @@ StatusData statusData = client.GetTransportStatus(t); bool enabled = statusData.transportEnabled; string status = ""; - + Color bgColor; if (enabled) { bool lastOk = statusData.lastrunOk; if (lastOk) { - status = "running"; + status = "running"; + bgColor = Color.Green; } else { status = "error"; + bgColor = Color.Red; } } else { status = "stopped"; + bgColor = Color.DarkOrange; } - transports.Items.Add(t + " - " + status); + ListViewItem item = new ListViewItem(t + " - " + status); + item.ForeColor = bgColor; + transports.Items.Add(item); } @@ -111,7 +125,10 @@ selected = -1; } - transports.SelectedIndex = selected; + transports.SelectedIndices.Clear(); + if (selected != -1) + transports.SelectedIndices.Add(selected); + //transports.SelectedIndices[0] = selected; } @@ -158,10 +175,10 @@ private void loadStatusData() { - if (transports.SelectedIndex == -1) + if (getSelectedTransportIndex() == -1) return; - string transportName = transportNameList[transports.SelectedIndex]; + string transportName = transportNameList[getSelectedTransportIndex() ]; StatusData statusData = client.GetTransportStatus(transportName); @@ -188,9 +205,9 @@ private void refreshTimer_Tick(object sender, EventArgs e) { - loadTransports(); + loadTransports(); - if (transports.SelectedIndex == -1) + if (getSelectedTransportIndex() == -1) return; showData(); @@ -198,9 +215,9 @@ private void loadLog() { - if (transports.SelectedIndex == -1) + if (getSelectedTransportIndex() == -1) return; - string transportName = transportNameList[transports.SelectedIndex]; + string transportName = transportNameList[getSelectedTransportIndex()]; string[] logEntries = client.GetTransportLog(transportName); @@ -215,9 +232,9 @@ private void loadConfig() { - if (transports.SelectedIndex == -1) + if (getSelectedTransportIndex() == -1) return; - string transportName = transportNameList[transports.SelectedIndex]; + string transportName = transportNameList[getSelectedTransportIndex()]; string direction = client.GetTransportDirection(transportName); string queue = client.GetTransportQueueName(transportName); @@ -235,7 +252,7 @@ private void showData() { - if (transports.SelectedIndex == -1) + if (getSelectedTransportIndex() == -1) return; switch (tabControl1.SelectedIndex)