0

Windows アプリケーションを使用しています。そのフォームでは、DataRepeater コントロールを使用しています。そのコントロールに数字を表示します。(対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 を Horizo​​ntal に変更すると、すべての数値が一列に表示されます。しかし、私の目的は、1行に6つの数字のみを表示し、7番目の数字以降は次の行を表示することです。すべての数字と同様です。

これを行う方法?..

どんなアイデアでも大歓迎です。

私を助けてください。

4

1 に答える 1

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

于 2011-07-27T11:48:52.907 に答える