2014-07-07 2 views
0

임 HTML 테이블에 동적으로 변환되는 데이터 집합을 통해 루프를 시도하지만 난 <a href="xxxx" Edit /a>내가 내 예에 오류가 편집 하이퍼 링크로 하나의 열을 나타내는 필요 아래 "system.data.datacolumn getenumerator에 대한 공용 정의가 포함되어 있지 않습니다", datable 데이터 집합에 html의 각 행을 나타내는 데 너무 커서 따라서 테이블을 만들려면 foreach 루프를 사용해야합니다. 제발 도와주세요, ASP를 사용하는 경우 리피터가 더 쉽습니다 간단한 예제를 제공 해주십시오.동적 HTML 테이블

StringBuilder strBuilder = new StringBuilder(); 

     strBuilder.Append("<table id='MainTable' border='1px' cellpadding='5' cellspacing='0' "); 
    strBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>"); 

    //Add the headings row. 
    strBuilder.Append("<thead>"); 
    strBuilder.Append("<tr align='left' valign='top'>"); 

    foreach (DataColumn myColumn in dt.Columns) 
    { 
     strBuilder.Append("<td align='left' align='top'>"); 
     strBuilder.Append(myColumn.ColumnName); 
     strBuilder.Append("</td>"); 
    } 

여기가 도움이 필요한 곳입니까?


foreach (DataRow row in dt.Columns[0]) 
    { 

     strBuilder.Append("<a href="+ row.ToString()+">Edit</a>"); 

    } 

strBuilder.Append("</tr>"); 

    strBuilder.Append("/<thead>"); 

    strBuilder.Append("<tbody>"); 
    //Add the data rows. 
    foreach (DataRow myRow in dt.Rows) 
    { 
     strBuilder.Append("<tr align='left' valign='top'>"); 

     foreach (DataColumn myColumn in dt.Columns) 
     { 
      strBuilder.Append("<td align='left' valign='top'>"); 
      strBuilder.Append(myRow[myColumn.ColumnName].ToString()); 
      strBuilder.Append("</td>"); 
     } 

     strBuilder.Append("</tr>"); 

    } 

    strBuilder.Append("</tbody>"); 


    strBuilder.Append("</table>"); 
+0

'사용이 예에서 찾고 시도 StringBuilder.appendformatter'http : //stackoverflow.com/questions/1970940/problems- using-a-stringbuilder-to-c-html-in-c-sharp – MethodMan

답변

1

방법에 대한

foreach (DataRow myRow in dt.Rows) 
{    
    strBuilder.Append("<tr align='left' valign='top'>"); 

    //col[0] as link 
    strBuilder.Append("<td align='left' valign='top'><a href="+ myRow[0].ToString()+">Edit</a></td>"); 

    foreach (DataColumn myColumn in dt.Columns.Skip(1)) //skip first, render rest 
    { 
     strBuilder.Append("<td align='left' valign='top'>"); 
     strBuilder.Append(myRow[myColumn.ColumnName].ToString()); 
     strBuilder.Append("</td>"); 
    } 

    strBuilder.Append("</tr>"); 
}