2011-07-05 4 views
1

그래서 바보 같은 문제가있어, 미안하지만 나는 HTML과 디자인의 선발 ... 내가 달성하려고하는 것은 위 삼각형 테이블이다. 나는 asp.net 코드에서 테이블을 만들고있다. 암호;ASP.net 코드 숨겨진 상위 삼각형 테이블 디자인?

 for (int i = 0; i < 3; i++) 
    { 
     TableRow r = new TableRow(); 
     for (int j = 3; j > i; j--) 
     { 
      TableCell c = new TableCell() 
      { 
       Height = 100, 
       Width = 100, 
       ColumnSpan = j, 
       BackColor = System.Drawing.Color.Blue 
      }; 
      r.Cells.Add(c); 
     } 
     bottomRightTable.Rows.Add(r); 
    } 

그래서 기본적으로 내가 얻을 싶은이 (내 미친 페인트 기술에 대한 미안하지만 난 분명 내 자신을 확인하고 싶었)는이 바보 같은 질문 경우 다시 미안하지만 난 아주 ASP를 경험하고 있지 않다 .net 아직 나는 더미 셀을 사용하고 싶지 않습니다. 삼각형을 만들고 싶다면 6 셀을 사용하고 싶습니다.

고맙습니다.

이미지; 이 작동하지만 노력할 것입니다 경우 enter image description here

답변

1

은 솔직히 아무 생각이 :

bottomRightTable.Attributes["dir"] = "RTL"; // Set the table to "right-to-left" 

이론적으로는 오른쪽 열에 0, 중간 열 (1), 그리고 왼쪽 열 둘을해야한다 .... 그래서 다른 논리를 뒤집어 써야합니다.

http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1.1


당신의 알고리즘은 ColumnSpan을 사용하지만 아무것도 아니에요. 이는 열의 모든 셀에 대해 ColumnSpan을 같은 값으로 설정하기 때문입니다. 예 : 당신이 ColumnSpan 알고리즘을 수정하려고하면

<table> 
    <tr> 
     <td colspan="3" style="..."></td> 
     <td colspan="2" style="..."></td> 
     <td style="..."></td> 
    </tr> 
    <tr> 
     <td colspan="3" style="..."></td> 
     <td colspan="2" style="..."></td> 
    </tr> 
    <tr> 
     <td colspan="3" style="..."></td> 
    </tr> 
</table> 

, 당신은으로 끝날 것 :

<table> 
    <tr> 
     <td style="..."></td> 
     <td style="..."></td> 
     <td style="..."></td> 
    </tr> 
    <tr> 
     <td colspan="2" style="..."></td> 
     <td style="..."></td> 
    </tr> 
    <tr> 
     <td colspan="3" style="..."></td> 
    </tr> 
</table> 

squares

그래서, 기본적으로 내가 하나가 권리를 사용할 필요가 있다고 생각 왼쪽에서 왼쪽으로 해킹하거나 빈 셀을 사용하십시오.

+0

그것은 확실히 마법이었습니다! 너무 단순하지만 그렇게 놀라운! 감사합니다! 그리고 알고리즘에 대해 다시 한번 감사드립니다! 나는 방금 내 의도를 보여주기 위해 그것을 썼다. 그리고 그것을 확실히 고칠 것이다! – umutto

+0

@ 못투 : 천만에. _ (이전에 만족하지 않아서 답변을 업데이트했습니다.) _ – Greg

+0

=) 도움을 제공해 주셔서 감사합니다! 정말 고마워! 당신의 대답은 그림, 예제 코드 및 물건으로 당신이 아는 본 최고의 것 중 하나입니다! 내가 두 번 투표 할 수있을 때만! 어쨌든 나는 더 이상 columnSpan을 사용하지 않고 "RTL"속성 덕분에 작동합니다. 나는 그것이 백그라운드에서 어떻게 작동하는지 정말로 모르지만 나는 asp 테이블로 그것의 좋은 특징을 믿는다! 그리고 그것은 괜찮아 보입니다. 다시 모든 것에 대해 감사드립니다! – umutto