如何以win-form显示数据中继器控件?

时间:2011-07-27 11:43:35

标签: c# winforms datarepeater

我正在使用Windows应用程序。在那种形式我使用DataRepeater控件。 我在该控件中显示数字。 (vs 2010)

我的代码

 DataTable dt = new DataTable();
                dt.Columns.Add("c1");
                dt.Rows.Add("1");
                dt.Rows.Add("2");
                dt.Rows.Add("3");
                dt.Rows.Add("4");
                dt.Rows.Add("5");
                dt.Rows.Add("6");
                dt.Rows.Add("7");
                dt.Rows.Add("8");
                dt.Rows.Add("9");
                dt.Rows.Add("10");
                textBox1.DataBindings.Add("Text", dt, "c1");
                dataRepeater1.DataSource = dt;

我将Layoutstyle更改为水平显示所有数字的时间 在排队。但我的目标是在第7天之后只显示6个数字 数字向前显示下一行。与所有数字相似。

如何做到这一点?..

欢迎任何想法。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您需要将6个数字批次打包到另一个类中:

class Batch
{
    public int One {get;set;}
    // etc
}

并为数据转发器提供以下列表:

var l = new List<Batch>();
dataRepeater1.DataSource = l;

然后,您的转发器将需要其中的控件来查看Batch类的属性。类包装器是必需的,因为转发器将重复集合中的每个项目(例如DataTable中的行),因此要对它们进行分组,您需要手动执行此操作。

进一步阅读:

http://blogs.msdn.com/b/vsdata/archive/2009/08/12/datarepeater-control-for-windows-forms.aspx