I have some code which sets the value of cells in a DataRow by column name i.e.
row["ColumnName"] = someValue;
I want to also set the value for this row in the column immediately to the right of the one found above. Clearly if I was getting the cell by index rather than by column name this would be easy. So is there a way of getting the column index from the column name thus allowing me to do:
row[index + 1] = someOtherValue;
i.e. do I need create some kind of dictionary of column index and column names when the table is initially created, or can I get the index from the column name later on without doing this?
You can use
DataColumn.Ordinalto get the index of the column in theDataTable. So if you need the next column as mentioned useColumn.Ordinal + 1:Warning:
This code returns the next column, so the one after
ColumnName, as requested in the question.