런타임에 새 DataRow 개체를 만들고 열을 추가 할 수 있습니까?새 DataRow에 열 추가
// How can I specify column names for this data row object?
DataRow row = new DataRow();
런타임에 새 DataRow 개체를 만들고 열을 추가 할 수 있습니까?새 DataRow에 열 추가
// How can I specify column names for this data row object?
DataRow row = new DataRow();
데이터 열에 열을 추가 할 수 있다고 생각하지 않지만 확실히 데이터 테이블을 사용할 수는 있습니다. 여기에 VB를 위해이 작업을 수행하는 몇 가지 코드는 다음과 같습니다
Enum enumType
StringType = 1
BooleanType = 2
DateTimeType = 3
DecimalType = 4
DoubleType = 5
IntegerType = 6
CharType = 7
End Enum
Private Shared ReadOnly Property ColumnDataType(ByVal ThisDataType As enumType) As String
Get
'DataType values supported are:
'System.Byte, System.Char, System.DateTime, System.Decimal, System.Double, System.Int16, System.Int32, System.Int64,
'System.SByte, System.Single
Select Case ThisDataType
Case enumType.BooleanType
Return "System.Boolean"
Case enumType.DateTimeType
Return "System.DateTime"
Case enumType.DecimalType
Return "System.Decimal"
Case enumType.DoubleType
Return "System.Double"
Case enumType.IntegerType
Return "System.Int32"
Case enumType.StringType
Return "System.String"
Case enumType.CharType
Return "System.Char"
Case Else
cnst.ErrorDisplay("No such data type as " & ThisDataType.ToString)
Return Nothing
End Select
End Get
End Property
Public Shared Sub AddColumn(ByRef dt As DataTable, ByVal ColumnName As String, ByVal ThisDataType As enumType)
Dim dc As DataColumn = New DataColumn(ColumnName)
dc.DataType = System.Type.GetType(ColumnDataType(ThisDataType))
dt.Columns.Add(dc)
End Sub
코드는 열거를 사용합니다. 아이디어 중 일부는 this page에서 얻었습니다. 아이디어는 AddColumn 메서드를 호출하여 원하는 열을 데이터 테이블에 추가 할 수 있다는 것입니다.
아니요 된 DataRow는 열을 추가하는 데 필요한 접근이있는 DataTable을,의 자녀가 될 수 있도록 설계되었습니다. DataRow를 직접 조작 할 수있는 경우 다른 열 개수/주문을 갖는 행이있는 "들쭉날쭉 한 테이블"을 만들 수 있습니다. 이것은 일반적으로 좋지 않으므로 완료되지 않았습니다.
DataRow에 열을 추가하려면 DataTable에 행을 추가하고 해당 DataTable에 열을 추가 한 다음 DataRow를 다시보십시오.