私は恐れていません。 RepeatInfoのレンダリングコード(DataListをレンダリングするために使用される)は、レイアウトが水平フローに設定され、アイテムが列境界またはリストの最後にあるときに、改行を明示的に書き込みます。ここでは、コードの一部:
private void RenderHorizontalRepeater(HtmlTextWriter writer, IRepeatInfoUser user, Style controlStyle, WebControl baseControl)
{
...
if (indexInColumn == repeatColumns || itemIndex == repeatedItemCount - 1)
{
if (isTableLayout)
{
writer.RenderEndTag();
}
else if (repeatColumns < repeatedItemCount)
{
if (this.EnableLegacyRendering)
{
writer.WriteObsoleteBreak();
}
else
{
writer.WriteBreak();
}
}
indexInColumn = 0;
}
}
私はあなたがアイテムを作成またはバインドされたときにコントロールコレクションにドロップダウンリストを注入しようとすることができたとしたが、その後、あなたはそれ最後のことを知っている必要があるだろう。これには、データのバインドを実行する前に、合計数を事前に把握する必要があります。
ありがとうございました。最後に、データリスト内の列数属性を取り出し、n番目のItemIndexのItemDataBind内に改行を含むリテラルを追加しました – HadleyHope