2010-07-02 4 views
0

안녕 얘들 아, DataGridView의 SQL DB에서 일부 데이터를 표시하고 싶은 응용 프로그램이 있습니다 ... DataGridView에 데이터가 표시되지만 여기에 내 질문이 있습니다. 어떻게 할 수 있습니까? DataGridView 열 제목에 SQL 열 제목을 사용하고 싶지 않기 때문에 사용자 지정 머리글 제목을 사용합니다. 또한 사용자가 행을 두 번 클릭하면 해당 행의 filePath 값이 열리므로 열의 폭을 지정할 수 있기를 바랍니다. 다음은 테이블 배치 방법입니다.DataGridView의 SQL 데이터

SQL 표 : ROW_ID (I 그리드에 표시하지 않으려는) PARTNUMBER이 CMMNumber는, CreatedOn은 참고 FilePath, RacfId, currTime

데이터 그리드보기 원하는 형식 : 부품 번호, CMM 번호,에 작성 , Path, User ID, Viewed On

현재 코드 - 데이터 (Row_ID 포함)를 모두 가져오고 sql 열 이름을 데이터 격자보기 열 이름으로 사용하며 기본 열 너비도 사용합니다.

private void NewAlert_Load(object sender, EventArgs e) 
     { 
      string connString = "Server=FRXSQLDEV;Database=MyDB;User Id=ID;Password=Password;"; 

      string query = "SELECT * FROM CMMReports WHERE RacfId IS NULL;"; 

      SqlDataAdapter dAdapter = new SqlDataAdapter(query, connString); 

      SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter); 

      DataTable dTable = new DataTable(); 

      dAdapter.Fill(dTable); 



      //BindingSource to sync DataTable and DataGridView 
      BindingSource bSource = new BindingSource(); 

      //set the BindingSource DataSource 
      bSource.DataSource = dTable; 

      //set the DataGridView DataSource 
      dgView.DataSource = bSource; 

      dAdapter.Update(dTable); 



     } 
+0

을 헤더 텍스트의 설정 방법 % 3A % 2F % 2Fwww.windowsclient.net % 2FSamples % 2FGo % 2520To % 2520Market % 2FDataGridView % 2FDataGridView % 2520FAQ.doc 및 RCT = J & Q = DataGridView에 + 자주 묻는 질문 및 EI = bNrpS8vCMoqOkQXkxcCHCw 및 USG이 훨씬 큰 일 = AFQjCNEnheLFyYG0nwJGotD8HjYYZl8Rug – adopilot

답변

3

맞춤 제목 등을 사용하려면 먼저 새로운 데이터 테이블을 만들고 이름을 지정하십시오. 대해서 typeof()

DataTable dt = new DataTable(); 

     dt.Columns.Add("Title 1",typeof(int)); 
     dt.Columns.Add("Title 2", typeof(string)); 
     dt.Columns.Add("Title 3", typeof(DateTime)); 
     dt.Columns.Add("Title 4", typeof(bool)); 
     dt.AcceptChanges(); 

는 SQL에서 오는 모든 데이터를 취득하고 GRIDVIEW에 dt를

foreach 문에 (var에 yourSqlData에서 항목)

object[] row = new object[] 
     { 
     item.data1.ToString(), // string columns 
     Convert.ToInt32(item.data2), // int columns 
     Convert.ToDateTime(item.data3), // datetime column 
     Convert.ToBoolean(item.data4) // bool column 
     }; 
     dt.Rows.Add(row); 

와 바인딩을 그들을 위해 객체를 생성에 대한 조심 당신에게 열 ("ROW_ID")를 숨어 들어

0

당신은 사용할 수 있습니다

dgView.Columns[0].Visible = false; 

http://www.google.co.nz/url?sa=t&source=web&ct=res&cd=1&ved=0CAYQFjAA&url=http 그것은 나에게 많은 도움 당신은 DataGridView에 FAQ를 읽을 수

dgView.Columns[1].HeaderText = "PartNumber"; 
+0

! 이제 사용자가 행을 클릭하면 해당 행의 FilePath 열에있는 vaule로 이동합니다. 어떤 지침? –