2012-06-12 2 views
0

테이블에 "전체 행"을 추가해야합니다. 나는 현재 하위 합계를 위해 사용하고있는 코드는 다음과 같습니다 C# 별도의 함수로 테이블에 DataRow 추가

DataRow shRow = ds.Tables[0].NewRow(); 
shRow["a"] = "SubHead"; 
shRow["b"] = "Wheel Subs"; 
shRow["c"] = totalWheels; 

내가 합계와 하위 합계 내가 잘라 각각의 새로운 서브 총 (값을 변경)이 코드를 붙여 넣기가 하위 서브 합계가 필요하기 때문에

.

현재 테이블과 값을 사용하고 새 행을 추가하는 함수가 필요합니다. 같은 뭔가 :

public DataRow SubRow(DataTable ResultsTable, string SubHead, string SubHeader, string SubHeadValue) 

다음 주 함수에서 테이블을 업데이트 할 것입니다.

도움 주셔서 감사합니다. 새로운 기능에서 테이블을 '전달'할 수 없습니다.

+1

왜 테이블을 통과하지 못할 추가하는 기능을 가지고 싶다? –

답변

0

뭐가 잘못 되었나요?

public DataRow SubRow(DataTable resultsTable, string subHead, string subHeader, string subHeadValue) 
{ 
    DataRow shRow = resultsTable.NewRow(); 
    shRow["a"] = subHead; 
    shRow["b"] = subHeader; 
    shRow["c"] = subHeadValue; 
    return shRow; 
} 

사용법 : 그런데

DataRow shRow = SubRow(ds.Tables[0], "SubHead", "Wheel Subs", totalWheels); 

,이 테이블에 행을 추가,하지만 적절하게 테이블에 들어갈 수있는 행을 만들지 않습니다. 실제로 테이블에 행을 추가하려는 경우, 당신은 할 수 있습니다 :

DataTable을에 추가하는 방법에 지정된 값으로 행을 추가하고, 추가 된 행을 반환합니다
DataRow row = ds.Tables[0].Rows.Add("SubHead", "Wheel Subs", totalWheels); 

.

0

나는 현재 테이블과 값을 사용하여 새 행이

public DataTable CreateNewRow(DataTable ResultsTable, String ColumnA, 
     String ColumnB, String ColumnC, String ColumnAVal, String ColumnBVal, 
     String ColumnCVal) 
{ 
    DataRow shRow = ResultsTable.NewRow(); 
    shRow[ColumnA] = ColumnAVal; 
    shRow[ColumnB] = ColumnBVal; 
    shRow[ColumnC] = ColumnCVal; 
    ResultsTable.Rows.Add(shRow); 
    return ResultsTable; 
} 

using(DataTable ResultsTable = CreateNewRow 
           (
            ds.Tables[0], 
            "a", 
            "b", 
            "c", 
            "SubHead", 
            "Wheel Subs", 
            totalWheels 
           )) 
{ 
     //Your logic 
} 
+0

왜 행을 추가 한 후에 전체 datatable을 처리 하시겠습니까? 그 테이블이 살아 있어야한다고 생각합니다. 다른 주제에 - 당신이 테이블에 행을 추가하고 싶다면 프레임 워크에 이미 하나의 메소드가 있기 때문에 메소드가 필요하지 않습니다. (저의 대답을보십시오), 추가 된 datarow를 반환하는 것이 더 논리적이라고 생각합니다. 일반적으로 datatable보다는 오히려. – SimpleVar

+0

개체를 사용하면 개체를 '처분'하는 것이 좋습니다. 'Using' 문 안에 위치해야합니다. 이 외에도 행/열을 수동으로 지울 때까지 처분 한 후에도 데이터가 그대로 유지됩니다. 하지만 처분 후 메모리 관리 작업이 완료되고 누수가 더 이상 존재하지 않습니다. – Pankaj

+0

개체 params를 허용하는 오버로드는 추가 된 데이터row를 반환합니다. VS에 붙여넣고 직접보십시오. – SimpleVar

관련 문제