在開發新項目的時候發現了一個問題
dtResult.Columns.Add()方法只能將指定的列添加到DataTable的列的最后的位置,但是不能添加到指定的列上。舉例來說,假設dtResult總共有3列(列名分別是col1,col2,col3),我們新定義一個列,列名是col100,那么 dtResult.Columns.Add(col100)方法只能將列添加到第四列,這個時候新表將變成這樣——表列名依次是(col1,col2,col3,col100)而,用戶如果想把列添加到第二列——使表變成表列名依次是(col1,col100,col2,col3)——這個方法就不行了,那么有什么其他的方法嗎?
網上搜索
提供了一些方法,其中有一個方法是可以實現的,就是重新構造一張表,讓新表列定義成列依次是col1,col100,col2,col3,然后用for循環,將dtResult表的數據寫入到新表中,但是這樣的循環太麻煩,得自己去構造新表,而且,如果數據量比較大的話,執行效率也會有問題,那么除了這種方法,有沒有其他什么方法呢?
於是繼續往上搜索
searching。。。。
然后找到了一個方法:
if (!dtResult.Columns.Contains("col100"))
{
dtResult.Columns.Add("col100", typeof(Decimal), "0.00").SetOrdinal(1);
}
if判斷是判斷表中是否存在列名為col100的,如果存在當然就不能重復添加了,如果不存在,就將列加入進去,這樣,你想要將新列添加到DataTable指定列就實現了。
此方法希望對你的開發有所幫助。
