आप पुनरावर्तक को डेटाटेबल कॉलम कोलेक्शन में बाध्य करने का प्रयास कर सकते हैं:
private DataTable _dataTable;
public void LoadRepeater()
{
//load dataset
_dataTable = myDataSet.Tables[0];
repeater.DataSource = _dataTable.Columns;
repeater.DataBind();
}
public string GetColumnValue(string columnName)
{
return _dataTable.Rows[0][columnName].ToString();
}
फिर पुनरावर्तक पर:
<ItemTemplate>
<div class="hidOverflow smallPad">
<div class="setFloatL halfWidth vertAlignT">
<span class="profileLabel"><%# Eval("ColumnName") %></span>
</div>
<div class="setFloatL vertAlignT">
<asp:Label ID="lbl2" ClientIDMode="Static" runat="server" Text='<%# GetColumnValue(Eval("ColumnName")) %>'></asp:Label>
</div>
</div>
</ItemTemplate>
यह केवल तभी काम करेगा जब आपके डेटाटेबल पर एक ही पंक्ति हो।
यदि आपके पास अधिक पंक्तियाँ हैं, तो आपको पंक्ति आयाम के लिए एक अतिरिक्त पुनरावर्तक शामिल करना पड़ सकता है।
-------------------------------------------------------- -------------------
स्तंभों को विभाजित करने के लिए, आप ऐसा कुछ कर सकते हैं (अप्रयुक्त):
private void LoadRepeater()
{
//load dataset
_dataTable = myDataSet.Tables[0];
int columnCount = _dataTable.Columns.Count;
int half = (int)columnCount/2;
var columnCollection = _dataTable.Columns.OfType<DataColumn>();
var firstHalfColumns = columnCollection.Take(half);
var secondHalfColumns = columnCollection.Skip(half);
repeater1.DataSource = firstHalfColumns;
repeater1.DataBind();
repeater2.DataSource = secondHalfColumns;
repeater2.DataBind();
}