DataTable dt = (DataTable)DataGridView1.DataSource(); 이런식으로 데이터를 형변환해서 받아오려고 하면 될 때도 있고 안 될 때도 있다. 안 되는 이유는 해당 DataGridView가 DataRelation이 걸려 있는 경우다. 이게 왜 그 경우에는 안 되는 지 몰라도 C# 내부 구조가 그렇게 잡혀 있는 듯하다. 이 경우엔 반복문을 돌며 데이터를 직접 하나씩 담는 그냥 메소드를 하나 만들어서 담아 오는 수 밖에 없다. private DataTable setDataTable(DataGridView dgv){ DataTable dt = new DataTable(); // 담을 객체 for(int i=0; i< dgv.Columns.Count; i++){ dt.Colum..
데이터그리드뷰에서 선택된 행의 데이터를 변수에 담아놓으려고 SelectionChanged EventHandler 함수에서 값을 할당하는데 데이터그리드뷰를 재조회 하면서 행의 위치를 옮기는 경우에 해당 위치의 데이터를 못 받는 현상이 있다. 행의 위치를 옮기기 전에 데이터그리드뷰 비활성화를 한 번 하고 풀어줘야 한다. (ㅡㅡ) datagridview1.Enabled = false; datagridview1.CurrentCell = datagridview1.Row[index].Cell[index]; datagridview1.Enabled = true;
WebBrowser webBrowser = new WebBrowser(); 가 있으면 GET 방식 webBrowser.Navigate(Url); //Url에 흔히 아는 ?param=value¶m2=value 이런 식으로 주소에 실어 보내는 것은 get 방식이고 POST방식 string strPostData = string.Format("param={0}¶m={1}", value, value); //이렇게 매칭시켜 놓은 데이터를 가지고 byte[] postData = Encoding.UTF8.GetBytes(strPostData); //바이트 형식으로 받은 다음 넣어주면 된다. webBrowser.Navigate(Url, targetFrameName: null, postData: postDa..
윈폼 기본 내장 객체 WebBrowser 를 쓰면 기본 버전이 IE7이라고 한다. 그래서 플래시나 뭐 그런 걸 지원을 못 한다고 한다. 내가 버전을 찍어보니 11로 나온다. 근데 Http 통신을 하면 css가 깨진다. 그래서 그냥 url만 호출해서 객체에 뿌렸다. 근데 파라미터를 한글로 받으면 깨진다는 문제가 있었다. IE 버전이야 컴퓨터에 설치된 것을 보여주겠고 레지스트리도 11로 맞춰놨겠다. 어찌되었든 그것과는 관계없이 내장 WebBrowser 객체가 구닥다리임은 틀림없다. 그 얘기는 인코딩을 해야 하는데 찾아봤는데 다른 건 안 됐다. 다른 건 모르겠고 솔루션 탐색기 - 참조 - web.dll 추가 using System.Web; string str = "한글"; str = HttpUtility.Ur..
간단하게 설정하겠다. 먼저 오라클(32bit)을 설치한다. 그리고 오라클과 같은 버전의 ODAC(32bit)를 설치한다. ODAC는 비주얼 스튜디오에서 오라클 연동을 위한 별도의 드라이버이다. Oracle.DataAccess.dll을 이걸로 참조 받을 수 있다. 두 가지 방법이 있는데 하나는 개별 화면마다 작업하는 방법 그 다음은 통합 모듈로써 관리하는 방법이 있다. 그 전에 작업할 것이 있으니 솔루션 탐색기 - 참조 - 참조 추가를 누르면 참조 관리자가 뜨는데 이 때 오라클 설치 경로에서 Oracle.DataAccess.dll을 추가해줘야 한다. 경로는 드라이버:\app\사용자명\product\11.2.0(버전)\client\odp.net\bin\4에 있다. ------------------------..