Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/Results.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/Results.aspx	(revision 5919)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/Results.aspx	(revision 5977)
@@ -1,3 +1,5 @@
 ﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
+<%@ Register Src="~/Views/Query/RunCollectionTable.ascx" TagName="RunCollectionTable" TagPrefix="HL" %>
+<%@ Register Src="~/Views/Query/RunCollectionDetail.ascx" TagName="RunCollectionDetail" TagPrefix="HL" %>
 
 <asp:Content ID="Content3" runat="server" ContentPlaceHolderID="SubMenuContent">
@@ -12,4 +14,12 @@
 
     <h2>Results</h2>
+    
+    <h3>Test table element</h3>
+    <form runat="server">
+        <HL:RunCollectionTable ID="kurt" runat="server" />
+    </form>
+
+    <h3>Test detail element</h3>
+    <HL:RunCollectionDetail ID="sepp" runat="server" />
 
 </asp:Content>
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionData.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionData.cs	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionData.cs	(revision 5977)
@@ -0,0 +1,18 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+using HLWebOKBQueryPlugin.OKBQueryService;
+
+namespace HLWebOKBQueryPlugin.Views.Query {
+    public class RunCollectionData {
+        public string AlgorithmName { get; set; }
+        public string AlgorithmAlgorithmClass { get; set; }
+
+        public RunCollectionData(Run run) {
+            AlgorithmName = run.Algorithm.Name;
+            AlgorithmAlgorithmClass = run.Algorithm.AlgorithmClass;
+        }
+    }
+}
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx	(revision 5977)
@@ -0,0 +1,8 @@
+﻿<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RunCollectionDetail.ascx.cs" Inherits="HLWebOKBQueryPlugin.Views.Query.RunCollectionDetail" %>
+
+<asp:Table ID="TableRunDetail" runat="server">
+    <asp:TableHeaderRow>
+        <asp:TableHeaderCell Text="Property" />
+        <asp:TableHeaderCell Text="Value" />
+    </asp:TableHeaderRow>
+</asp:Table>
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.cs	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.cs	(revision 5977)
@@ -0,0 +1,61 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+using System.Reflection;
+
+namespace HLWebOKBQueryPlugin.Views.Query {
+    public partial class RunCollectionDetail : System.Web.UI.UserControl {
+        private object currentObject = null;
+        public object detailObject {
+            get { return currentObject; }
+            set {
+                currentObject = value;
+                FillDetails();
+            }
+        }
+
+        protected void Page_Load(object sender, EventArgs e) {
+            currentObject = getTest();
+
+            FillDetails();
+        }
+
+        protected void FillDetails() {
+            if (currentObject != null) {
+                Type rcd = currentObject.GetType();
+
+                foreach (PropertyInfo pi in rcd.GetProperties()) {
+                    TableRow tr = new TableRow();
+                    TableCell tc = new TableCell();
+                    tc.Text = pi.Name;
+                    tr.Cells.Add(tc);
+                    tc = new TableCell();
+                    try {
+                        tc.Text = pi.GetValue(currentObject, null).ToString();
+                    } catch (Exception ex) {
+                        tc.Text = ex.Message;
+                    }
+                    tr.Cells.Add(tc);
+                    TableRunDetail.Rows.Add(tr);
+                }
+            }
+        }
+
+        private RunCollectionData getTest() {
+            OKBQueryService.Run testrun = new OKBQueryService.Run();
+
+            testrun.Id = 34;
+            testrun.Algorithm = new OKBQueryService.Algorithm();
+            testrun.Algorithm.Name = "TestAlgo";
+            testrun.Algorithm.AlgorithmClass = "TestAlgoClass";
+
+            RunCollectionData run = new RunCollectionData(testrun);
+            
+            return run;
+        }
+    }
+}
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.designer.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.designer.cs	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionDetail.ascx.designer.cs	(revision 5977)
@@ -0,0 +1,24 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated. 
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HLWebOKBQueryPlugin.Views.Query {
+    
+    
+    public partial class RunCollectionDetail {
+        
+        /// <summary>
+        /// TableRunDetail control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Table TableRunDetail;
+    }
+}
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx	(revision 5977)
@@ -0,0 +1,18 @@
+﻿<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RunCollectionTable.ascx.cs" Inherits="HLWebOKBQueryPlugin.Views.Query.RunCollectionTable" %>
+
+<asp:GridView ID="GridRunCollection" runat="server" AutoGenerateColumns="False" 
+                OnRowCommand="GridRunCollection_RowCommand" 
+                OnSelectedIndexChanged="GridRunCollection_SelectedIndexChanged">
+    <SelectedRowStyle BackColor="Aqua" />
+    <Columns>
+        <asp:BoundField />
+        <asp:CommandField ShowSelectButton="true" SelectText="Details" />
+        <asp:BoundField HeaderText="Abs.DifferenceBestKnown2Best" />
+        <asp:BoundField HeaderText="Algorithm Name" DataField="AlgorithmName" />
+        <asp:BoundField HeaderText="Algorithm Type" DataField="AlgorithmAlgorithmClass" />
+        <asp:BoundField HeaderText="Analyser" />
+    </Columns>
+</asp:GridView>
+
+<asp:TextBox ID="txtTest" runat="server" />
+<asp:TextBox ID="txtTest2" runat="server" />
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.cs	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.cs	(revision 5977)
@@ -0,0 +1,66 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+using HLWebOKBQueryPlugin.OKBQueryService;
+
+namespace HLWebOKBQueryPlugin.Views.Query {
+    public partial class RunCollectionTable : System.Web.UI.UserControl {
+        public IList<Run> DataRuns { get; set; }
+
+        protected void Page_Load(object sender, EventArgs e) {
+            DataRuns = getTestData();
+
+            IList<RunCollectionData> runsList = new List<RunCollectionData>();
+            foreach (Run r in DataRuns)
+                runsList.Add(new RunCollectionData(r));
+
+            GridRunCollection.DataSource = runsList;
+            GridRunCollection.DataBind();
+
+        }
+
+        private IList<Run> getTestData() {
+            IList<Run> runs = new List<Run>();
+
+            Run run = new Run();
+            run.Id = 34;
+            run.Algorithm = new OKBQueryService.Algorithm();
+            run.Algorithm.Name = "TestAlgo";
+            run.Algorithm.AlgorithmClass = "TestAlgoClass";
+            runs.Add(run);
+
+            run = new Run();
+            run.Id = 35;
+            run.Algorithm = new OKBQueryService.Algorithm();
+            run.Algorithm.Name = "TestAlgo2";
+            run.Algorithm.AlgorithmClass = "TestAlgoClass2";
+            runs.Add(run);
+
+            run = new Run();
+            run.Id = 36;
+            run.Algorithm = new OKBQueryService.Algorithm();
+            run.Algorithm.Name = "TestAlgo3";
+            run.Algorithm.AlgorithmClass = "TestAlgoClass3";
+            runs.Add(run);
+
+            return runs;
+        }
+
+        protected void GridRunCollection_RowCommand(Object sender, GridViewCommandEventArgs e) {
+            txtTest.Text = e.CommandName;
+            if (e.CommandName == "Select") {
+                // TODO gererate Details
+                txtTest.Text = e.CommandName;
+            }
+        }
+
+        protected void GridRunCollection_SelectedIndexChanged(Object sender, EventArgs e) {
+            txtTest2.Text = GridRunCollection.SelectedIndex.ToString();
+        }
+    }
+
+}
Index: branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.designer.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.designer.cs	(revision 5977)
+++ branches/WebApplication/MVC2/HLWebOKBQueryPlugin/Views/Query/RunCollectionTable.ascx.designer.cs	(revision 5977)
@@ -0,0 +1,42 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated. 
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HLWebOKBQueryPlugin.Views.Query {
+    
+    
+    public partial class RunCollectionTable {
+        
+        /// <summary>
+        /// GridRunCollection control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.GridView GridRunCollection;
+        
+        /// <summary>
+        /// txtTest control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.TextBox txtTest;
+        
+        /// <summary>
+        /// txtTest2 control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.TextBox txtTest2;
+    }
+}
