2015-01-22 2 views
4

어쨌든 데이터베이스에있는 행 수를 기반으로 Windows 양식 응용 프로그램의 내용을 표시 할 수 있습니까? 이것이 간단한 방법으로 가능한지 전혀 모르겠다. 컨셉은 아래에 첨부되어 있으며, 내용 부분을 보여 주며, 왼쪽은 이미지이고 label2는 사람의 이름이어야하고 레이블은 사람이 쓰는 내용이다. .Windows 폼 응용 프로그램 : 내용 행 표시

이제는 여러 게시물이있는 경우 어떻게 데이터베이스의 모든 콘텐츠에 대해 "행"표시를 할 수 있습니까? 내가 ASP.NET을 사용했을 경우 형식이 될 것 때문에 아마 쉬울 것 :

<ul> 
    <li><img src="#"/> <h1>Name</h1> <p>Content<p> </li> 
<ul> 

enter image description here

+0

DB 구조는 무엇입니까? 그 (것)들을 가진 당신의 테이블을 당신은 쓸 수 있 었는가? –

+1

ListView 또는 GridView./DataGrid 컨트롤을 사용하십시오 –

답변

4

당신은 컨테이너로 그리고 다음 사용을 보면 당신의 "게시물"로 FlowLayoutPanel을 사용자 정의 컨트롤을 준비해야한다 db로부터 각 게시물에 대해 생성 된 "Control"을 Children에 추가하십시오.

편집 : FlowLayoutPanel.FlowDirection을 TopDown으로 설정하면 원하는 것을 얻을 수 있습니다.

2

당신이 찾고있는 것은 ListView 컨트롤입니다. 루프를 작성하고 데이터베이스에서 리턴 된 각 행에 대한 항목을 추가합니다. 예를 들어 Using a ListView with images을 확인하십시오.

편집 : DataGridView를 사용하면 각 셀에 여러 줄을 사용할 수 있습니다. 다음은 간단한 예입니다. 작은 이미지가 없어도 적절하게 텍스트를 설정합니다.

DataGridView dgv = new DataGridView(); 
dgv.Columns.Add("Header","Header"); 
dgv.Columns.Add("Details", "Details"); 
dgv.Dock = DockStyle.Fill; 
dgv.Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 
dgv.Rows.Add(new string[] { "Drew", "Some details" + Environment.NewLine + "use two lines" }); 
dgv.Rows.Add(new string[] { "Bill", "More details" }); 
Controls.Add(dgv); 
+0

전체 회담처럼 보이지 않도록하려면 다중 회선 지원을 사용하는 'ListView'의 제 3 자 버전이 실제로 필요합니다. – helrich

+0

네, 네 말이 맞아, 나는 그것을 간과했다. DataGridView는 단일 열에 여러 줄을 허용합니다. 같은 질문을하는 게시물은 다음과 같습니다. http://stackoverflow.com/questions/22103749/multiline-text-in-list-view. 형식이 전혀 변하지 않으면 roxik0의 솔루션은 아마 더 융통성이 있습니다. – DrewJordan

+0

"테이블"을 사용하고 싶지는 않습니다. 레이아웃은 레이아웃에 맞게 사용자 정의하고 내가 작성한 html과 비슷해야합니다. 예를 들어 사진, 이름, 시간, 내용 및 각 게시물에 대한 줄 분리 기호가있는 여러 게시물을 표시하는 Twitter 데스크탑 응용 프로그램을 생각해보십시오. – btmach

관련 문제