or
items.Add(New RadListDataItem("Joe Smith", "GUID HERE"))
using System;using System.Collections.Generic;using System.Data;using System.Windows.Forms;using Telerik.WinControls.UI;namespace WindowsFormsApplication3{ public class Form1 : Form { private const string WeekDisplayedName = "Week"; private RadGridView Grid { get { return this.radGridView1; } } private struct ColsGrid { public const string Level1 = "Level 1 Criteria"; public const string Level2 = "Level 2 Criteria"; public const string FakeLevel = "Fake row"; } public Form1() { InitializeComponent(); InitializeGrid(); } /// <summary> /// /// </summary> private void InitializeGrid() { this.Grid.ShowFilteringRow = false; this.Grid.ShowGroupPanel = false; this.Grid.SelectionMode = GridViewSelectionMode.CellSelect; this.Grid.AllowAddNewRow = this.Grid.AllowDeleteRow = false; // Data var table = new DataTable(); table.Columns.Add(ColsGrid.Level1, typeof(string)); table.Columns.Add(ColsGrid.Level2, typeof(string)); table.Columns.Add(ColsGrid.FakeLevel, typeof(string)); var lst = new List<Tuple<string, string>>(); lst.Add(new Tuple<string, string>("Level 1-A", "Level 2-A")); lst.Add(new Tuple<string, string>("Level 1-A", "Level 2-B")); lst.Add(new Tuple<string, string>("Level 1-A", "Level 2-C")); lst.Add(new Tuple<string, string>("Level 1-B", "Level 2-A")); lst.Add(new Tuple<string, string>("Level 1-B", "Level 2-B")); lst.Add(new Tuple<string, string>("Level 1-B", "Level 2-C")); this.Grid.AutoExpandGroups = true; this.Grid.DataSource = table; //this.Grid.GroupDescriptors.Add(new GroupDescriptor("Project")); this.Grid.Columns.Add(new GridViewTextBoxColumn(ColsGrid.Level1)); this.Grid.Columns.Add(new GridViewTextBoxColumn(ColsGrid.Level2)); this.Grid.Columns.Add(new GridViewTextBoxColumn(ColsGrid.FakeLevel)); this.Grid.Columns[ColsGrid.Level1].Width = 100; this.Grid.Columns[ColsGrid.Level2].Width = 100; this.Grid.Columns[ColsGrid.FakeLevel].IsVisible = false; // Create fake lines for each level1/level2 int nbLines = 3; foreach (var item in lst) { for (var i = 0; i < nbLines; i++) { table.Rows.Add(item.Item1, item.Item2, i); } } // Add timeline columns string[] months = new string[] { "January", "Febuary", "March", }; for (int i = 0; i < months.Length; i++) { for (int j = 1; j <= 4; j++) { GridViewTextBoxColumn column = new GridViewTextBoxColumn(months[i] + WeekDisplayedName + j); column.HeaderText = WeekDisplayedName + " " + j.ToString(); column.Width = 75; this.Grid.Columns.Add(column); } } // Group the 3 first columns var def = new ColumnGroupsViewDefinition(); var colGroup = new GridViewColumnGroup("Row header group"); colGroup.ShowHeader = false; colGroup.Rows.Add(new GridViewColumnGroupRow()); colGroup.Rows[0].Columns.Add(this.Grid.Columns[ColsGrid.Level1]); colGroup.Rows[0].Columns.Add(this.Grid.Columns[ColsGrid.Level2]); colGroup.Rows[0].Columns.Add(this.Grid.Columns[ColsGrid.FakeLevel]); def.ColumnGroups.Add(colGroup); // Create a group for each month, each containing 4 weeks for (int i = 0; i < months.Length; i++) { def.ColumnGroups.Add(new GridViewColumnGroup(months[i])); def.ColumnGroups[1 + i].Rows.Add(new GridViewColumnGroupRow()); for (int j = 1; j <= 4; j++) { def.ColumnGroups[1 + i].Rows[0].Columns.Add(this.Grid.Columns[months[i] + WeekDisplayedName + j]); } } this.Grid.ViewDefinition = def; // Create fake data this.Grid.Rows[0].Cells[months[0] + WeekDisplayedName + "1"].Value = "Project 1"; this.Grid.Rows[1].Cells[months[0] + WeekDisplayedName + "1"].Value = "Project 2"; this.Grid.Rows[9].Cells[months[0] + WeekDisplayedName + "3"].Value = "Project 3"; this.Grid.Rows[4].Cells[months[1] + WeekDisplayedName + "2"].Value = "Project 4"; this.Grid.Rows[7].Cells[months[1] + WeekDisplayedName + "3"].Value = "Project 5"; } #region Designer stuff /// <summary> /// Variable nécessaire au concepteur. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Nettoyage des ressources utilisées. /// </summary> /// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Code généré par le Concepteur Windows Form /// <summary> /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// </summary> private void InitializeComponent() { this.radGridView1 = new Telerik.WinControls.UI.RadGridView(); ((System.ComponentModel.ISupportInitialize)(this.radGridView1)).BeginInit(); this.SuspendLayout(); // // radGridView1 // this.radGridView1.Dock = System.Windows.Forms.DockStyle.Fill; this.radGridView1.Location = new System.Drawing.Point(0, 0); this.radGridView1.Name = "radGridView1"; this.radGridView1.Size = new System.Drawing.Size(1137, 629); this.radGridView1.TabIndex = 0; this.radGridView1.Text = "radGridView1"; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1137, 629); this.Controls.Add(this.radGridView1); this.Name = "Form1"; this.Text = "Form1"; ((System.ComponentModel.ISupportInitialize)(this.radGridView1)).EndInit(); this.ResumeLayout(false); } #endregion private Telerik.WinControls.UI.RadGridView radGridView1; #endregion }}