2015-09-03 3 views
0

Я знаю, как увеличить число, строку, для постановки, как увеличить число имени DataTable в vb.net

, но я хочу знать, как изменить имя «для ~ следующего» утверждения. Например,

Dim row_sort1 As DataTable = rows1.CopyToDataTable 
    Dim row_sort2 As DataTable = rows2.CopyToDataTable 
    Dim row_sort3 As DataTable = rows3.CopyToDataTable 
    Dim row_sort4 As DataTable = rows4.CopyToDataTable 
    Dim row_sort5 As DataTable = rows5.CopyToDataTable 
    Dim row_sort6 As DataTable = rows6.CopyToDataTable 
    Dim row_sort7 As DataTable = rows7.CopyToDataTable 

Я кодирования, как это ,, плохо Перетяжка Так что я хочу изменение, «для ~ следующего» утверждения. Я хочу увеличить число имен данных (1 ~ 7) , как это отразится в этом кодировании. Я хочу, чтобы моя кодировка была более простой и полезной.

мне нужна ваша помощь спасибо

+0

Я думаю, что вы ищете массивы. – nbering

+0

лучше использовать массив или список вместо –

ответ

1

Предполагаю, что у вас есть коллекция строк, которая является вашим хозяином, из которого вы хотите скопировать.

У меня есть аналогичный подход, такой как OSKM. Лучше использовать коллекцию списков, чем массив. Чтобы получить доступ к таблицам впоследствии в коллекции, вы можете использовать Linq.

' Given master rowcollection 
Dim masterRow As EnumerableRowCollection(Of DataRow) 

' Empty table collection 
Dim tableList As New List(Of DataTable) 

For t As Integer = 0 To 6 

    ' copy Master to a new table 
    Dim newTable As DataTable = masterRow.CopyToDataTable() 

    ' give the new table a name 
    newTable.TableName = "Table" & t.ToString 

    ' Add new table to collection 
    tableList.Add(newTable) 
Next 

' Access a certain table (i.e. Table5) using Linq 
Dim table5 As DataTable = tableList.FirstOrDefault(Function(x) x.TableName = "Table5") 
1

Если я понимаю ваш вопрос исправить следующее может помочь.

'Note your datatables will be named Datatable0 to Datatable6 
    Dim DTs(6) As DataTable 
    For i = 0 To 6 
     DTs(i) = New DataTable 
     DTs(i).TableName = "Datatable" & i 
    Next 

Возможно, есть лучшие способы, но это сработает!

Смежные вопросы