GSI

// DataGridView 객체 얻어 오기
DataGridView dgv = sender as DataGridView;
if (dgv == null)
    return;

// 셀단위로 선택된 것이 있는지 찾는다. 하나도 없을때 리턴
if (dgv.SelectedCells.Count == 0)
    return;

// DB와 연결되어 있을때. DataSet의 테이블 정보를 가져온다.
DataTable dtItem = azitro_testDataSet.Tables[0];
// DataRow를 가져 오기 위해서 DataGridView의 선택된 셀정보를 가져와서
// RowIndex를 리턴해 준다.
// RowIndex의 값을 사용해서 DataRow를 구한다.
DataRow rwItem = dtItem.Rows[dgv.SelectedCells[0].RowIndex];

// Row의 셀 정보를 가져온다. (DB 내용)
string strCatenum = rwItem["cate_Num"].ToString();
string strCatedep = rwItem["cate_dep"].ToString();
string strCatesel = rwItem["cate_sel"].ToString();
string strsiImg = rwItem["icon_img"].ToString();

txtSelName.Text = rwItem["item_name"].ToString();
txtSelContents.Text = rwItem["item_contents"].ToString();

// DB에 있는 내용을 사용해서 폴더 경로를 구한다.
string filepath;
filepath = Application.StartupPath
    + "\\itemlist\\"
    + strCatenum + "\\"
    + strCatesel + "\\"
    + strsiImg + ".png";

// 파일이 존재 하는지 검사한다.
if (File.Exists(filepath))
{
    // 이미지를 연결하고 화면에 출력한다.
    picItemImage.Image = Image.FromFile(filepath);
}
else
{
    // 이미지가 없을때 null 처리
    picItemImage.Image = null;
}

Posted by gsi
:

사용자 삽입 이미지

여기서 알 수 있는 기술
1. TreeView에 DB의 정보를 입력하는 방법
2. Tree의 노드를 선택하면 좌측의 DataGridView의 Row를 제어
3. Detail Display
4. 옵션으로 좌측의 3개의 버튼으로 트리의 입력 방법을 몇개 예제로 구성해봤다.

이제 해야 될 건.. Drag & Drop

관련코드 :
Posted by gsi
:

DataGridView dgv = ...
dgv 라고 객체를 생성 했다고 햇을때.

DataSet에서 값을 가져 오고,
현재 Row를 선택 했을때 SelectedIndex 같은 프로퍼티가 제공되지 않는거 같아요.
그래서 현재 구현한 방법은 아래와 같습니다.

자세한 코드 내용은 저도 잘 모르겠네요.
혹시 아시면 코멘트 부탁 드려요.

DataGridView dgv = sender as DataGridView;
//MessageBox.Show("선택한 Row=" + dgv.SelectedCells[0].RowIndex.ToString());

DataTable dtItem = azitro_testDataSet.Tables[0];
DataRow rwItem = dtItem.Rows[dgv.SelectedCells[0].RowIndex];


이상.
Posted by gsi
: