vb :: DBgrid/DBFlexGrid 사용예제

#DBgrid컨트롤 사용하기
1] DBgrid를 사용하려면 구성요소에서 [microsoft data bound grid control]을 선택한다.
2] 다음과 같이 컨트롤을 위치시키고 속성을 설정한다.
속성설정DBgrid1
└ dataSource : data1
└ headFont : 굴림
└ caption : 고객데이터
data1
└ databaseName : Nwind.mdb
└ recordSource : customers
└ visible : false

사용자 삽입 이미지
이 경우에서 데이터컨트롤은 DB를 연결시켜주는 역할만 하므로 이것의 속성중 visible속성을 true에서 false로 변경시켜주면 데이터컨트롤을 보이지 않게 할 수 있다.
실행모드에서는 column이나 row의 크기를 변경시킬 수 있다.
 
#MSFlexGrid컨트롤 사용하기
1] MSFlexGrid컨트롤을 사용하려면 구성요소에서 [microsoft flexGrid control 6.0]을 추가한다.
2] 다음과 같이 컨트롤을 위치시키고 속성을 설정한다.
속성설정MSFlexGrid1
└ dataSource : data1
└ fixedCols : 0
└ toolTipText : 스크롤바를 이용하여 검색하세요
└ allowUserResizing : 1(flexResizeColumn) - 크기변경가능
data1
└ databaseName : nwind.mdb
└ recordSource : customers
└ visible : false

3] 연결된 DB의 일부데이터만을 보기로 한다. 그래서 필요한 데이터만을 선택하여 새로운 데이터를 만들고 모양을 조금 변경시켜 보도록 한다.
소스코드Private Sub Form_Load()
    Dim sql As String
    '원시 nwind.mdb의 필드중 customerID, companyName, contactName
    'address, city, phone만을 sql문을 이용해 새롭게 DB를 만든다.
   
    sql = "SELECT customers.customerID, customers.companyName"
    sql = sql + ", customers.contactName, customers.address, customers.city"
    sql = sql + ", customers.phone FROM customers"
   
    Data1.RecordSource = sql
    Data1.Refresh
    Data1.Recordset.MoveLast
   
    totrows = Data1.Recordset.RecordCount
    MSFlexGrid1.Rows = totrows + 5      'rows는 필드네임행까지 포함, 늘어나는 행수는 4
   
    'MSFlexGrid의 record heading채우기
   
    MSFlexGrid1.Row = 0     '셀좌표
    MSFlexGrid1.Col = 0
    MSFlexGrid1.Text = "고객번호"       '필드네임을 변경한다.
    MSFlexGrid1.ColWidth(0) = 1000      'column폭을 조정한다.
   
    MSFlexGrid1.Col = 1
    MSFlexGrid1.Text = "회사명"
    MSFlexGrid1.ColWidth(1) = 1000
   
    MSFlexGrid1.Col = 2
    MSFlexGrid1.Text = "담당직원"
    MSFlexGrid1.ColWidth(2) = 1000
   
    MSFlexGrid1.Col = 3
    MSFlexGrid1.Text = "주소"
    MSFlexGrid1.ColWidth(3) = 3000
   
    MSFlexGrid1.Col = 4
    MSFlexGrid1.Text = "시"
    MSFlexGrid1.ColWidth(4) = 1500
   
    MSFlexGrid1.Col = 5
    MSFlexGrid1.Text = "전화번호"
    MSFlexGrid1.ColWidth(5) = 2000
    Data1.Recordset.MoveFirst
   
    'table의 record채우는 소스예제
    For i = 1 To totrows
        MSFlexGrid1.Row = MSFlexGrid1.Row + 1
        MSFlexGrid1.Col = 0
        MSFlexGrid1.Text = Data1.Recordset.Fields("customerID")
        MSFlexGrid1.Col = 1
        MSFlexGrid1.Text = Data1.Recordset.Fields("companyName")
        MSFlexGrid1.Col = 2
        MSFlexGrid1.Text = Data1.Recordset.Fields("contactName")
        MSFlexGrid1.Col = 3
        MSFlexGrid1.Text = Data1.Recordset.Fields("address")
        MSFlexGrid1.Col = 4
        MSFlexGrid1.Text = Data1.Recordset.Fields("city")
        MSFlexGrid1.Col = 5
        MSFlexGrid1.Text = Data1.Recordset.Fields("phone")
       
        Data1.Recordset.MoveNext
    Next i
   
End Sub

사용자 삽입 이미지
4] 실행하면 조금 더 조정된 폼을 볼 수 있다.
Posted by 나비:D
:
BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
---------------------------.. (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Total :
Today : Yesterday :