C# 에서 MySQL DB에 있는 자료를 DataSet 메모리 DB에 올린 다음 ListView 에 뿌리는 소스코드다.
listView 에 뿌려주는 순서를 정하려면
MySQL DB에서 Select 하는 구문에서 정해주면 된다.
select * from items 로 된 부분을 SELECT uid, item, price, Quantity, date FROM items 로 뽑아오고 싶은 칼럼만 지정하고 순서를 정하면 된다.
private void listView1Table()
{
// listView1 의 검색 로직
myConn = new MySqlConnection(ConnectionString);
try
{
myConn.Open();
string strqry = "select * from items ";
if (listView1searchBox.Text.Trim().Length > 0)
{
strqry += "where Quantity='" + listView1searchBox.Text.Trim() + "' ";
}
strqry += "order by uid";
adapter = new MySqlDataAdapter(strqry, myConn);
DataSet ds = new DataSet();
adapter.Fill(ds); // DS에 select * from items 의 결과물을 채우겠다.
listView1.Items.Clear();
DataTableTolistView(ds.Tables[0], listView1);
lvt1totalcnt.Text = "총 " + i.ToString() + " Row";
SetHeight(listView1, 20); // 행높이 지정
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
myConn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void DataTableTolistView(DataTable dtable, ListView LV)
{
if (dtable.Rows.Count > 0)
{
int i = 0;
foreach (DataRow drow in dtable.Rows)
{
i = i + 1;
ListViewItem lvt = new ListViewItem();
lvt.Text = i.ToString(); // 첫번째 칼럼에 저장, 첫번째 칼럼은 번호 증가 목적
for (int n = 0; n < dtable.Columns.Count; n++)
{
lvt.SubItems.Add(drow[n].ToString());
}
LV.Items.Add(lvt);
}
}
}
'C# > C# SQL' 카테고리의 다른 글
C# SQLite DB Create 과 테이블 생성 (0) | 2016.01.10 |
---|---|
C# SQLite 연동 준비 (0) | 2016.01.09 |
C# 콤보박스(comboBox)에 데이터베이스(DB) 테이블명 가져오기 (0) | 2015.12.30 |
C# listView 자료를 MySQL DB에 추가, 수정, 삭제하는 방법 (0) | 2015.12.29 |
C# MySQL 데이터를 ListView 에 Add 하는 방법 (1) (2) | 2015.12.29 |