web-dev-qa-db-fra.com

Valeur de la cellule d'accès de datatable

Quelqu'un peut-il m'aider à accéder par exemple à la valeur de la première cellule de la 4ème colonne?

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

par exemple, comment accéder à la valeur d, si ce serait datatable?

Merci.

69
el ninho

Si vous avez besoin d'une référence faible à la valeur de la cellule:

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

ou

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

Devrait le faire

Si vous avez besoin d'une référence fortement typée (chaîne dans votre cas), vous pouvez utiliser la méthode DataRowExtensions.Field extension:

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

(assurez-vous que System.Data est dans la liste dans les espaces de noms dans ce cas)

Les index étant basés sur 0, nous accédons d'abord à la première ligne (0), puis à la 4ème colonne de cette ligne (3)

114
vc 74
string abc= dt.Rows[0]["column name"].ToString();
62
ashok luhach

Vous pouvez également essayer (première cellule de la 4ème colonne):

dt.Rows[0][3]
10
FrenkyB
foreach(DataRow row in dt.Rows)
{
    string value = row[3].ToString();
}
8
gabsferreira

les données d se trouvent à la ligne 0 et à la colonne 3 pour la valeur d:

DataTable table;
String d = (String)table.Rows[0][3];
5
athena
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;
}
0
Ata Hoseini