Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set value for all rows in a datatable without for loop

I'm trying to set the same value for all rows for a single column in a datatable without using for loop. Can anyone suggest any faster methods to achieve the same.

like image 898
Soham Dasgupta Avatar asked Feb 21 '11 07:02

Soham Dasgupta


People also ask

How many rows can a DataTable hold C#?

The maximum number of rows that a DataTable can store is 16,777,216.

Which property of DataTable indicates the total no of rows?

count() gives you the count of rows.


2 Answers

yes, this is possible, even without loop! This can be done with Expression property. Keep in mind that string values should be quoted, otherwise it sees this as another columnname.1

This will set the column 'col1' with the string value a:

preview.Columns["col1"].Expression = "'a'";

This will display in 'col1' the value of the column 'col2':

preview.Columns["col1"].Expression = "col2";
like image 186
Julian Avatar answered Sep 20 '22 07:09

Julian


Have you considered removing and re-adding the column with a default value?

dt.Columns.Remove("FilterText")
dt.Columns.Add(New DataColumn() With {.ColumnName = "FilterText",
                                      .DataType = GetType(String),
                                      .DefaultValue = "Jam and chips"})

(assuming your column name is FilterText, and you want to set it to "Jam and chips")

like image 38
Jonathan Avatar answered Sep 22 '22 07:09

Jonathan