데이터 테이블의 액세스 셀 값


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)에 액세스 한 다음이 행의 네 번째 열 (3)에 액세스합니다.


4
@OP 이와 같은 값을 하드 코딩 할 때 행 / 열이 실제로 충분한 지 확인하기 위해 먼저 확인해야하는 경우가 많다는 점을 명심하십시오.
Servy

1
또한 참조 stackoverflow.com/a/13816531/638977 그것은 suggestesint number = dt.Rows[i].Field<int>(j);
베 자드 에브라


13

시도해 볼 수도 있습니다 (4 번째 열의 첫 번째 셀).

dt.Rows[0][3]


7

데이터 d는 값 d에 대해 0 행과 3 열에 있습니다.

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;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.