using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Telerik.Web.UI;
using System.Collections;

public partial class Default : System.Web.UI.Page
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource);
        RadGrid1.ItemDataBound += new GridItemEventHandler(RadGrid1_ItemDataBound);
    }

    void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem item = e.Item as GridDataItem;
            int?[] dateids = (item.DataItem as MyItem).dateids;
            item["dateids"].Text = "";
            string text = "";
            foreach (int i in dateids)
            {
                text += i.ToString() + ",";
            }
            int count = text.Length - 1;
            item["dateids"].Text = text.Remove(count, 1);

        }
    }

    void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        MyItems items = new MyItems();
        items.Add(new MyItem() { value1=1, value2 =2, dateids = new int? []{1,2,3,4}});
        items.Add(new MyItem() { value1 = 2, value2 = 3, dateids = new int?[] { 10, 20, 30, 40} });
        items.Add(new MyItem() { value1 = 3, value2 = 4, dateids = new int?[] { 100, 200, 300, 400 } });

        RadGrid1.DataSource = items;
    }
}

public class MyItem
{

    public int value1 { get; set; }

    public int value2 { get; set; }
    public int?[] dateids { get; set; }

    public MyItem()
    {
        dateids = new int?[4];
    }

}

public class MyItems : CollectionBase
{

    public int Add(MyItem item)
    {
        return List.Add(item);
    }

    public void Remove(MyItem item)
    {
        List.Remove(item);
    }

    public int IndexOf(MyItem item)
    {
        return List.IndexOf(item);
    }

    public MyItem this[int index]
    {
        get { return (MyItem)List[index]; }
        set { List[index] = value; }
    }
}
