ComboBox Item Binding
훈스 C# 게시판에 올라온 질문에 대한 답글로 잠깐 만들어서 답글을 했던 내용임.
ComboBox에 바인딩하고 이값에 대한 값을 처리할때 단위데이타를 만들고 이에 대한 집합을 만들어
콤보 박스에 바인딩해주면 나중에 단위데이타가 여럿 일 경우 해당 단위데이타 상태까지도 컨트롤 가능해짐 .
예제에는 ComboBox 1개, TextBox 1개
ComboBox.SelectedIndexChanged 이벤트
소스 ~~~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ComboList clist = new ComboList();
clist.Add("A", "1");
clist.Add("B", "2");
clist.Add("C", "3");
clist.Add("D", "4");
comboBox1.DataSource = clist; // IListSource를 요구함.
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Value";
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.textBox1.Text = ((_ComboItem)comboBox1.SelectedItem).Value;
// 바인딩 된 Item을 가지고 처리 하므로 단위 아이템의 프로퍼티 갯수는 증감할 수 있음.
}
}
public class _ComboItem // 단위 아이템
{
public string Name { get; set; }
public string Value { get; set; }
public override string ToString()
{
return Name; // combobox에 디스플레이 됨.
}
}
public class ComboList : IListSource // 집합아이템
{
List<_ComboItem> items = new List<_ComboItem>();
public void Add(string _Name, string _Value)
{
items.Add(new _ComboItem() { Name = _Name, Value = _Value });
// 2005에서는 _ComboItem에 생성자로 파라미터를 받으면 됨.
}
public string this[string Name]
// 인덱서를 이용하여 단위데이타에 대한 추적이 객체명[ 단위데이타이름 ]으로 가능.
{
get {
string returnValue = string.Empty;
foreach (_ComboItem item in items)
{
if (item.Name == Name)
{
returnValue = item.Value;
break;
}
}
return returnValue;
}
}
#region IListSource 멤버
public bool ContainsListCollection
{
get { return true; }
}
public System.Collections.IList GetList()
{
return items;
}
#endregion
}
}
// 여기서 빠진거라면 단위데이타를 제거하는 Dispose와 Clear 기능임. 빠진다고 해서 그닥.. 큰 영향은 없는듯도 하고..
// 많아 진다면... 구현해주는게 좀더 나을것 같다.
'# 3) .Net ( Vs 2008 ) > C#' 카테고리의 다른 글
암묵적인 형변환? 코드...? (0) | 2010.05.18 |
---|---|
IPC .Net ( 프로세스간 통신 ) (1) | 2010.05.12 |
VB의 Left구현하기... 확장메서드를 이용함... (0) | 2010.02.22 |
기간 출력하고자 할때... (0) | 2010.02.18 |
NotifyIcon에 ContextMenuStrip 2개 동적으로 바꾸기... (0) | 2010.02.12 |
머리에 물주전자 올려 뎁혀서 커피 한잔?
회계파트를 시작한지 어언... 일주일이 지나 월요일인 오늘 머리가 뜨끈 뜨끈할정도로 스팀이 나기 시작했다.
VB.NET으로 된걸 그대로 C#으로 바꾸고 디자인만 WPF를 이용한 소스를 분석하는데...
소스내용에 대해서는 안쓰지만... 내가 이렇게 못하나 싶을 정도로 미칠지경이되었다.
DB에 데이타 넣고 유효성 체크까지도 다 했는데... 아직 불확실한 요소가 많다.
샘플소스를 분석하다 분석하다 힘들어서 VB.NET 원본 소스를 그대로 쳐 넣어봤다. 올커니... 되는구나 하고
하나 하나 치다 보니.. C#에는 황당한게 있더랑.
적용도 안되는 변수가 여기저기서 값을 받는다.
이벤트에서 다른이벤트처리로 등록된 메서드를 호출을 한다. 또 샘플에 그리드 이벤트에 디버그 걸어서 보면
이벤트가 중첩되서 연속으로 걸린다. 이걸 어찌 이해 하여야 하는가?
뭔가 흐름이란걸 파악이 되어야 속도를 내볼끈데 이건뭐... 쉽지 않네...
나오기전 마지막엔 그리드에 Insert동작에 맞춰 검색 조건에 사용한 Key값을 그대로 전달하는 코드에서
코드값이 전달된 후 이유없이 날라간다. 해당 Cell 에 대입하는 곳 모두를 봤지만... 대입하는 곳은 거기랑 조건코드값을 얻기위해 팝업시켜 선택된 값을 대입하는곳 뿐인데... 둘다 사라지는것도 아니고 왜???? 코드값만 ??? 우쒸...
내일도 삽질만 기다리는뎅... 나름 이벤트와 노트북에 익숙해지긴 했는데...
삽질 삽질.. 삽질... 삽질은 안무서운데... 내가 모르고 지나치는게 무섭다!
'# 1) 프로그래밍' 카테고리의 다른 글
Enum객체 관련 설명. (0) | 2010.02.10 |
---|---|
삼항연산자 중복... (0) | 2010.02.05 |
VS : 정의 보기 -> 되돌아가기.. 단축키 (1) | 2010.01.22 |
나만에 개발방법... (0) | 2010.01.13 |
훈스에서 어느분이 객체지향을 공부하신다기에.... (0) | 2009.07.15 |
VS : 정의 보기 -> 되돌아가기.. 단축키
음 좋기능 하나 찾았음..
Ctrl + Shift + 7, 8 단축키...
이전 VB할때 이전가기... 라고 있던것... 괜찮았는데..
위 단축키는 정의로 가기 ( F12 )로 해당 정의로 이동했을때...
다시 이전위치로 돌아가고자 할때 Ctrl+Shift + 8을 누르면 이전위치로 이동하고 다시 Ctrl+Shift + 7 을 누르면 다시 정의 위치로 이동한다...
지금까지는 계속 정의 보고.. 다시 스크롤 -> 해서 해당위로.. 또는 Ctrl+G로 라인찍고 갔었는데...
추가 : 대문자로 만들기 Ctrl + Shift + U
소문자로 만들기 Ctrl+ U
'# 1) 프로그래밍' 카테고리의 다른 글
삼항연산자 중복... (0) | 2010.02.05 |
---|---|
머리에 물주전자 올려 뎁혀서 커피 한잔? (0) | 2010.01.25 |
나만에 개발방법... (0) | 2010.01.13 |
훈스에서 어느분이 객체지향을 공부하신다기에.... (0) | 2009.07.15 |
디자인 패턴관련... (0) | 2009.07.13 |
노트북을 사다...
월요일부터 출근하게 되는데 노트북이 필요해져서 구매를 하게되었다.
원래 원하는 모델은 아니었지만. cpu 좀더 낮춰서 사게 되었다.
window7 이 깔려있고... 적응이 ㅠㅠ;
음... 기왕 용산 가는길에 인두기와 AVR_ISP 커넥터를 사왔고...
안양에 들러서 노트북 가방을 새로 구매하였다.
오자마자 한일은 노트북 암호 설정 및 삼성에 노트북 등록하고 겜 설치해보고 돌려보고 ㅋㅋ
월욜부터 일하게 되는곳이 .NET 3.5 로 ERP 회계를 한다고 해서 너무 너무 기대가 됨.
두근 두근...
음 아차 CMOS 암호 거는걸 빼먹었네..
보조 백업용 pc를 우짤까낭. 그래픽 카드를 친구 떼주면 몸땡이는...
HDD는 외장형 HDD케이스로 바꿔서 써먹어야 겠다.
모니터 빼고 본채는 ... 버려야겠넹.. 움...
가끔씩 멈추던게 ... 안멈추넹... 프리스톤테일을 날려버려서 그런가?
본체가 처분되면 서랍장이라도 넣어놔야겠넹.
'--- 취미 > 생각하기' 카테고리의 다른 글
세상은 사소한것들을 무시하는듯 하다... (0) | 2010.03.12 |
---|---|
FlexGrid의 Header Merge 구현하다가 생긴일... (0) | 2010.02.11 |
오늘은 왠일로... 30명이나... (0) | 2010.01.13 |
2009년을 마치며... (0) | 2009.12.31 |
훔... 한컴에서 오피스 3만원에... (0) | 2009.10.08 |
나만에 개발방법...
작년 초부터 가장 잘 써보고 싶은 것이 마인드맵!! 이란 툴인데. 이걸 어플 분석이나 설계에 사용하면 좋을듯 해서 방법을 고민중이다. 어떻게 하면 잘 사용할수 있을까?
가끔 어플을 짤때면 만들고자 하는 놈을 정하고 나면 UI를 대충 그려놓고 거기에 필요한 객체들을 대충 체크하며 없는것들은 만들어낸다. 이때 가장 멍하게 만들때가 UI를 그리면서다.
머리속에 UI를 그릴때 두가지 생각이 같이 드는데 정리가 안된다.
1. UI가 편할까?
2. UI컨트롤 배치하면서 머리속에서는 코딩이 이뤄진다.( 미친거쥐... )
이런 저런 고민하다보면 UI가 정말 어이없는 놈이 탄생하게 된다. 정말 불편하겠다 싶은...
또 label은 왜케 어렵게 써놨을까? 단축해서 쓸만한 단어도 생각이 안나고...
뭐 아직까지 혼자 쓰는 용도로 많은 어플들을 만들어서 괜찮지만.. 이 것 자체가 습관이 되면 고치기 어려운데...
뭐 우선 아래 간단한 어플 구현에 대해 나만에 방법들을 정리 해본다.
아래 나열한 방법으로 개발한 개인 어플은
1. 개발 프레임웍( 가장 최근에 만든 놈 )
2. 프레임웍에 딸린 디버거
3. 코드생성기( 프레임웍에서 중복사용하는 코드들을 찍어낸다. )
4. xmlHelper
5. SocketHelper
6. 브라우져( DB와 연동되어 DB데이타를 보는 놈인데 ... 버젼별로 3가지인가? 된다. )
7. JsDokebiWindow ( 메인 프로그램이고 여기에 추가적으로 플러그인을 통해 사용프로그램을 더해서 사용하는 모듈이었음. 지금까지 만든 프로그램들을 하나로 통합해 관리 하려고 하였던... 허접한거 2개나 만들어져있다. )
... 기타...
요새 분석중인건 [일정관리]이다. 1차로 만들었던것도 나는 쓸만하지만... 대체로 써본사람들은 불편을 호소한다 .. 역시 UI가 문제다. 췌~~!
분석 -> 설계 -> 구현 <--> 테스트 지금까지 잡은 나름 정한 순서인데...
분석 : 만들고자 하는 어플에 대한 이해랄까? 일에 맞춰 어떤 UI면 좋을지 어떤기능을 포함하면 좋을지에 대해 간단한 스케치를 하고 DB를 xml로 할지 실제 DB를 이용할지 등등 고민하고 있다.
툴은 마인드맵을 이용해서 간단한 기능들에 대해 적어둔다.
설계 : 분석이 마쳐질때 쯤 UI를 좀더 디테일하게 스케치 하고 파워포인트로 대충 그려본다(그리고 나면 뷁).
이 어플에 필요한 객체들이 어떤것이 있으며 객체들의 역할을 정리하며 네임스페이스를 붙여 구분하기 시작하게 됨. 조금 상세한 설명들을 주석으로 하며 객체간에 인터페이스 부분도 심각히고려하게되는 부분이 된다.
툴은 마인드맵, 파워포인트.
구현 : 설계단계에서 나온 객체들을 기능별로 죄다 구현한다. 우선 메인모듈을 만들고 , 여기에 붙여지는 객체를 하나씩 하나씩 붙여가며 테스트를 겸한다.
툴은 비쥬얼 스튜디오
테스트 : 구현하면서 간단한 모듈간 테스트를 하게 되며 객체 하나 하나가 붙어가면서 제모습을 들때쯤이면
본격적인 테스트를 시작하게 된다.
현재는 마인드맵 활용이 조금 잘못된 느낌이 자꾸 든다.
설계 하면서 메인에 나뭇가지로 객체들을 부착하고 거기에 기능을 넣어보고 있지만 객체가 우선인지 기능이 우선인지... 분간이 어렵고 제대로 정리가 되지 않아서 자꾸 꼬인다... 좀더 하다보면 뭔가 또 번쩍!!! 떠오르는게 있지 않을까?
'# 1) 프로그래밍' 카테고리의 다른 글
머리에 물주전자 올려 뎁혀서 커피 한잔? (0) | 2010.01.25 |
---|---|
VS : 정의 보기 -> 되돌아가기.. 단축키 (1) | 2010.01.22 |
훈스에서 어느분이 객체지향을 공부하신다기에.... (0) | 2009.07.15 |
디자인 패턴관련... (0) | 2009.07.13 |
인터페이스 (0) | 2009.07.10 |
오늘은 왠일로... 30명이나...
음 왠일로 오늘 방문자 수가 30명이나 되네... 이런적이 없었는데 겨우 10명이 왔다갔다 하는 수준이었는데....
요새 들어 이력서만 올려놓고 집에서 간단한 어플설계하믄서 쉬는데 여기저기 연락이 오는데...
음 myClex 라는 회사는 엄청 규모도 있든데... 경력에게 수습을 얘기 하고( 꽈당! )...
사무실에 당구테이블도 있고... 그런곳에 면접은 처음가봤넹...
역시나 이직횟수가 많은 이력서가 발목을 잡는구나. 자격증보다 학력보다
이직횟수가 더욱 더... 새해 초부터 가슴팍에 비수를 꽂는구나!!
다른 곳들은 죄다 프리 뽑는데고... 간단한 어플 설계도 뭔가 체계를 잡아볼라고하니 겁나 빡시다.
올해는 돈을 많이 벌고 싶은데, 역시나 아직은 힘들구나 싶다.
로또 1등 당첨에 꿈을 올해도 꾸어야 하는가~!
'--- 취미 > 생각하기' 카테고리의 다른 글
FlexGrid의 Header Merge 구현하다가 생긴일... (0) | 2010.02.11 |
---|---|
노트북을 사다... (0) | 2010.01.16 |
2009년을 마치며... (0) | 2009.12.31 |
훔... 한컴에서 오피스 3만원에... (0) | 2009.10.08 |
1 Kbyte 방문자수에 도달!!! (0) | 2009.09.18 |
2009년을 마치며...
생전 처음 선이란걸 봤고 . . .
오우 쉣! 선본것 빼고 기억나는게 없구나!
참 하는것 없이 시간이 갔구나...
아참 병원만 6개월 다닌것 같군... 쉣!
일정 관리 프로그램을 재정비 해서 내년은 쭉 기록해볼까낭.
새해라는게 이제 1시간도 안남았는데...
새해엔... 돈을 많이 벌고 싶은뎅... 어떻게 하면 돈을 많이 벌까나...
로또 대박만 꿈꿀순 없는뎅..
'--- 취미 > 생각하기' 카테고리의 다른 글
FlexGrid의 Header Merge 구현하다가 생긴일... (0) | 2010.02.11 |
---|---|
노트북을 사다... (0) | 2010.01.16 |
오늘은 왠일로... 30명이나... (0) | 2010.01.13 |
훔... 한컴에서 오피스 3만원에... (0) | 2009.10.08 |
1 Kbyte 방문자수에 도달!!! (0) | 2009.09.18 |
.NET 3.5 차세대 개발 프로그래밍
'--- 취미 > 읽은 책관련' 카테고리의 다른 글
.net Core 공부 중... (0) | 2022.10.13 |
---|---|
2막 (0) | 2009.12.31 |
누워서 읽는 알고리즘 (0) | 2009.12.31 |
패턴 그리고 객체지향적 코딩의 법칙 (0) | 2009.12.31 |
성공과 실패를 결정하는 1%의 객체지향 원리 (0) | 2009.12.31 |
2막
2막
: 왠만해서는 전공서적 빼고는 잘 안보는데... 이걸 사서 봤으나...
내용이 기억이 잘 안나넹..
역시나 내 머리는 활자를 보고 기억하는데는 꽝인듯!!
'--- 취미 > 읽은 책관련' 카테고리의 다른 글
.net Core 공부 중... (0) | 2022.10.13 |
---|---|
.NET 3.5 차세대 개발 프로그래밍 (0) | 2009.12.31 |
누워서 읽는 알고리즘 (0) | 2009.12.31 |
패턴 그리고 객체지향적 코딩의 법칙 (0) | 2009.12.31 |
성공과 실패를 결정하는 1%의 객체지향 원리 (0) | 2009.12.31 |
누워서 읽는 알고리즘
'--- 취미 > 읽은 책관련' 카테고리의 다른 글
.NET 3.5 차세대 개발 프로그래밍 (0) | 2009.12.31 |
---|---|
2막 (0) | 2009.12.31 |
패턴 그리고 객체지향적 코딩의 법칙 (0) | 2009.12.31 |
성공과 실패를 결정하는 1%의 객체지향 원리 (0) | 2009.12.31 |
좋은 프로그래밍 습관 (0) | 2009.12.31 |