Значення комірки доступу до таблиці даних


84

Хто-небудь може мені допомогти, як отримати доступ, наприклад, до значення першої комірки в 4-му стовпці?

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

наприклад, як отримати доступ до значення d, якщо це може бути даних?

Дякую.

Відповіді:


133

Якщо вам потрібне слабке посилання на значення комірки:

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

або

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

Повинен це зробити

Якщо вам потрібне сильно набране посилання (рядок у вашому випадку), ви можете використовувати метод розширення DataRowExtensions.Field :

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

(у цьому випадку переконайтеся, що System.Data вказано в просторах імен)

Індекси базуються на 0, тому ми спочатку отримуємо доступ до першого рядка (0), а потім до 4-го стовпця в цьому рядку (3)


4
@OP Тільки майте на увазі, що вам часто потрібно спочатку перевірити, чи справді достатньо рядків / стовпців при жорстких значеннях кодування, як це.
Серві

1
див. також stackoverflow.com/a/13816531/638977 Це пропонуєint number = dt.Rows[i].Field<int>(j);
Бехзад Ебрагімі


13

Ви також можете спробувати (перша комірка в 4-му стовпці):

dt.Rows[0][3]


7

дані d знаходяться в рядку 0 і стовпці 3 для значення d:

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

1
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;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.