Leadtools.Dicom Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
InsertElementAndSetValue(DicomElement,Boolean,Int64,Object) Method
See Also  Example
Leadtools.Dicom Namespace > DicomDataSet Class > InsertElementAndSetValue Method : InsertElementAndSetValue(DicomElement,Boolean,Int64,Object) Method



element
An item in the data set.
tree
true to evaluate the Data Set as a tree; false to evaluate the Data Set as a list.
tag
Tag of the item to find or insert.
value
value to insert
element
An item in the data set.
tree
true to evaluate the Data Set as a tree; false to evaluate the Data Set as a list.
tag
Tag of the item to find or insert.
value
value to insert
Finds or inserts (if not found) an element in the data set and sets the value of the element

Syntax

Visual Basic (Declaration) 
Overloads Public Function InsertElementAndSetValue( _
   ByVal element As DicomElement, _
   ByVal tree As Boolean, _
   ByVal tag As Long, _
   ByVal value As Object _
) As DicomDataSet
Visual Basic (Usage)Copy Code
Dim instance As DicomDataSet
Dim element As DicomElement
Dim tree As Boolean
Dim tag As Long
Dim value As Object
Dim value As DicomDataSet
 
value = instance.InsertElementAndSetValue(element, tree, tag, value)
C# 
public DicomDataSet InsertElementAndSetValue( 
   DicomElement element,
   bool tree,
   long tag,
   object value
)
C++/CLI 
public:
DicomDataSet^ InsertElementAndSetValue( 
   DicomElement^ element,
   bool tree,
   long tag,
   Object^ value
) 

Parameters

element
An item in the data set.
tree
true to evaluate the Data Set as a tree; false to evaluate the Data Set as a list.
tag
Tag of the item to find or insert.
value
value to insert

Return Value

A reference to the DicomDataSet class (a 'this' pointer)

Example

This example shows how to set the value of various DICOM elements, regardless of the DicomVRType or the multiplicity.

Visual BasicCopy Code
'''
Private Sub DicomDataSet_InsertElementAndSetValueExample()
   Dim ds As DicomDataSet = New DicomDataSet()

   ' Set a string
   ds.InsertElementAndSetValue(Nothing, False, DicomTag.PatientName, "Patient^Joe^MiddleName")

   ' Or use an overload
   ds.InsertElementAndSetValue(DicomTag.PatientName, "Patient^Joe^MiddleName")

   ' This is how you check to see if the element got added -- for simplicity, we only check the first time
   MessageBox.Show(ds.InsertElementAndSetValueResult.ToString())

   ' Set an array of strings
   Dim names As String() = {"One", "Two", "Three"}
   ds.InsertElementAndSetValue(DicomTag.OtherPatientNames, names)

   ' Another way to do an array of strings
   Dim it As List(Of String) = New List(Of String)()
   it.Add("ORIGINAL")
   it.Add("PRIMARY")
   ds.InsertElementAndSetValue(DicomTag.ImageType, it.ToArray())

   ' Set an array of integers, that will be converted to strings
   Dim namesInt As Integer() = {1, 2, 3}
   ds.InsertElementAndSetValue(DicomTag.PhysicianOfRecord, namesInt)

   ' Set a DicomDateValue
   Dim dicomDate As DicomDateValue = New DicomDateValue(1961, 6, 5)
   ds.InsertElementAndSetValue(DicomTag.PatientBirthDate, dicomDate)

   ' Set a DateTime
   Dim dateTime As DateTime = New DateTime(2003, 5, 16)
   ds.InsertElementAndSetValue(DicomTag.InstanceCreationDate, dateTime)

   ' Set an array of DateTime
   Dim dateTimeArray As DateTime() = {New DateTime(2000, 3, 8), New DateTime(2003, 5, 16)}
   ds.InsertElementAndSetValue(DicomTag.DateOfLastCalibration, dateTimeArray)

   ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "test.dcm", DicomDataSetSaveFlags.None)
End Sub
C#Copy Code
///  
private void DicomDataSet_InsertElementAndSetValueExample() 

   DicomDataSet ds = new DicomDataSet(); 
 
   // Set a string 
   ds.InsertElementAndSetValue(null, false, DicomTag.PatientName, "Patient^Joe^MiddleName"); 
 
   // Or use an overload 
   ds.InsertElementAndSetValue(DicomTag.PatientName, "Patient^Joe^MiddleName"); 
 
   // This is how you check to see if the element got added -- for simplicity, we only check the first time 
   MessageBox.Show(ds.InsertElementAndSetValueResult.ToString()); 
 
   // Set an array of strings 
   string[] names = { "One", "Two", "Three" }; 
   ds.InsertElementAndSetValue(DicomTag.OtherPatientNames, names); 
 
   // Another way to do an array of strings 
   List<string> it = new List<string>(); 
   it.Add("ORIGINAL"); 
   it.Add("PRIMARY"); 
   ds.InsertElementAndSetValue(DicomTag.ImageType, it.ToArray()); 
 
   // Set an array of integers, that will be converted to strings 
   int[] namesInt = { 1, 2, 3 }; 
   ds.InsertElementAndSetValue(DicomTag.PhysicianOfRecord, namesInt); 
 
   // Set a DicomDateValue 
   DicomDateValue dicomDate = new DicomDateValue(1961, 6, 5); 
   ds.InsertElementAndSetValue(DicomTag.PatientBirthDate, dicomDate); 
 
   // Set a DateTime 
   DateTime dateTime = new DateTime(2003, 5, 16); 
   ds.InsertElementAndSetValue(DicomTag.InstanceCreationDate, dateTime); 
 
   // Set an array of DateTime 
   DateTime[] dateTimeArray = { new DateTime(2000, 3, 8), new DateTime(2003, 5, 16) }; 
   ds.InsertElementAndSetValue(DicomTag.DateOfLastCalibration, dateTimeArray); 
 
   ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "test.dcm", DicomDataSetSaveFlags.None); 
}

Remarks

This method is used to set the value of an existing DICOM data set element, or if the existing element does not already exist, to insert the element and then set its value. The value parameter can be any supported DICOM value. For details on the value parameter, see SetValue

This method returns a reference to the DicomDataSet class so that it can be used as part of a fluent interface. After calling this method, the DicomDataSet.InsertElementAndSetValueResult property contains a value that indiciates the success of the method. For an example of how this can be used efficiently to create a DICOM sequence, see BeginEditSequence

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

Leadtools.Dicom requires a Medical toolkit server license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features