DataColumn.SetOrdinal पद्धति का उपयोग करने का प्रयास करें । उदाहरण के लिए:
dataTable.Columns["Qty"].SetOrdinal(0);
dataTable.Columns["Unit"].SetOrdinal(1);
अद्यतन: इस उत्तर को मेरी अपेक्षा से अधिक ध्यान मिला। भ्रम से बचने के लिए और उपयोग करने में आसान बनाने के लिए मैंने DataTable में कॉलम ऑर्डर करने के लिए एक एक्सटेंशन विधि बनाने का निर्णय लिया:
विस्तार विधि:
public static class DataTableExtensions
{
public static void SetColumnsOrder(this DataTable table, params String[] columnNames)
{
int columnIndex = 0;
foreach(var columnName in columnNames)
{
table.Columns[columnName].SetOrdinal(columnIndex);
columnIndex++;
}
}
}
उपयोग:
table.SetColumnsOrder("Qty", "Unit", "Id");
या
table.SetColumnsOrder(new string[]{"Qty", "Unit", "Id"});