el ninho
el ninho

Reputation: 4233

How to access a specific cell value of a datatable

Can anyone help me how to access for example value of first cell in 4th column?

a b c d
1 2 3 5
g n m l

for example, how to access to value d from a data table structured and filled as above?

Upvotes: 96

Views: 350205

Answers (7)

Pepik
Pepik

Reputation: 343

Assuming that the values in "SomeColumnName" are unique / distinct and that the value you are looking for in "NameOfColumnWhereIsTheValueYouLookingFor" is "Double".

double SomeDoubleValue = (double)SomeDataTable.Select("SomeColumnName = ValueWhichDetermineTheRowLocation").First()["NameOfColumnWhereIsTheValueYouLookingFor"]

Upvotes: 0

Ata Hoseini
Ata Hoseini

Reputation: 137

public V[] getV(DataTable dtCloned)
{

    V[] objV = new V[dtCloned.Rows.Count];
    MyClasses mc = new MyClasses();
    int i = 0;
    int intError = 0;
    foreach (DataRow dr in dtCloned.Rows)
    {
        try
        {
            V vs = new V();
            vs.R = int.Parse(mc.ReplaceChar(dr["r"].ToString()).Trim());
            vs.S = Int64.Parse(mc.ReplaceChar(dr["s"].ToString()).Trim());
            objV[i] = vs;
            i++;
        }
        catch (Exception ex)
        {
            //
            DataRow row = dtError.NewRow();
            row["r"] = dr["r"].ToString();
            row["s"] = dr["s"].ToString();
            dtError.Rows.Add(row);
            intError++;
        }
    }
    return vs;
}

Upvotes: 1

vc 74
vc 74

Reputation: 38179

If you need a weak reference to the cell value:

object field = d.Rows[0][3]

or

object field = d.Rows[0].ItemArray[3]

Should do it

If you need a strongly typed reference (string in your case) you can use the DataRowExtensions.Field extension method:

string field = d.Rows[0].Field<string>(3);

(make sure System.Data is in listed in the namespaces in this case)

Indexes are 0 based so we first access the first row (0) and then the 4th column in this row (3)

Upvotes: 145

FrenkyB
FrenkyB

Reputation: 7217

You can also try (first cell in 4th column):

dt.Rows[0][3]

Upvotes: 13

athena
athena

Reputation: 339

data d is in row 0 and column 3 for value d :

DataTable table;
String d = (String)table.Rows[0][3];

Upvotes: 7

ashok luhach
ashok luhach

Reputation: 811

string abc= dt.Rows[0]["column name"].ToString();

Upvotes: 81

gabsferreira
gabsferreira

Reputation: 3147

foreach(DataRow row in dt.Rows)
{
    string value = row[3].ToString();
}

Upvotes: 7

Related Questions