LINQ 그룹바이... 훌...
훈스에 올라온 질문글에 무심코 그룹바이로 하면 쉬울것 같아요... ....................
LINQ는 간간히 msdn보면서 하고 있지만...
무심코 한말을 되집어 보고자 직접 쿼리에 도전...
ㅡ.,ㅡ; 1시간 넘게 삽질 했넹..
Sum .. 이넘때메...
그룹바이 은근 어렵넹.
dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add(new object[] { "A", 10 });
dt.Rows.Add(new object[] { "A", 10 });
dt.Rows.Add(new object[] { "B", 10 });
dt.Rows.Add(new object[] { "A", 10 });
var a = from tmp in dt.AsEnumerable()
group tmp by tmp.Field<string>("A") into k
select new
{
c1 = k.Key,
c2 = k.Sum(sum => Convert.ToInt32( sum.Field<string>("B") ))
};
DataTable result = new DataTable();
result = dt.Clone();
foreach (var tt in a)
{
result.Rows.Add(new object[] { tt.c1, tt.c2 });
}
'# 3) .Net ( Vs 2008 ) > C#' 카테고리의 다른 글
Ms Access 사용하기 예제소스. (0) | 2010.08.11 |
---|---|
WebClient와 WebBrowser의 차이는?? (3) | 2010.07.30 |
Double.Parser()... (0) | 2010.07.19 |
암묵적인 형변환? 코드...? (0) | 2010.05.18 |
IPC .Net ( 프로세스간 통신 ) (1) | 2010.05.12 |
[GDI+] Matrix 객체 사용해보기...
나에게 행렬이란? 계산방법이나 결과값을 구하는건 알겠는데... 그래픽에 막상 적용해놓고도 이게 뭔가... 싶은것?
역시 수학 기초가 딸리면 멍때리는건 시간문제얌 ㅡ.,ㅡ;;;
얼마전 훈스에 올라온 행렬 구하는 객체가 있는가에 대해 검색좀 해보니 Matrix란게 있었는데...
또 마침 별그리는것... 선 이동시하는것등... 갑자기 또 관심종목이 ㅡ.,ㅡ;;;
오늘 저녁엔 Matrix를 가지고 놀아보자 해서 별그리는데 써보기로 했다.
그럼 이 Matrix는 뭐하는 놈인고 하니 MSDN 에 보니 이 놈이 좌표변환 하는데 쓰이는 놈이었다.
3D 구현때보다는 머 나름 편했다. 3D는 아직도 이해 불가..( 절두체 ㅡ.,ㅡ;; )
2D로 별을 그린다고 했을때
private void DrawStar(Graphics g, double r, PointF p)
{
PointF[] ps = new PointF[6];
double RadianTheta = 0d;
int cnt = 0;
for (double i = 0; i <= 720d; i += 144d)
{
RadianTheta = (angle + i) * Math.PI / 180d;
ps[cnt] = new PointF(p.X + (float)(r * 1d * Math.Cos(RadianTheta)),
p.Y + (float)(r * 1d * Math.Sin(RadianTheta)));
cnt++;
}
g.DrawLines(Pens.Red, ps);
g.DrawEllipse(Pens.Blue, p.X - 5, p.Y - 5, 10, 10);
}
말할것도 없이 이거답... angle은 회전각인데.. 별을 빙글~빙글~ 돌려봤다..
이게 오히려 나에겐 이해하기 쉽다...
private void DrawStar(PaintEventArgs e)
{
PointF[] starPointFs = new PointF[6];
int cnt = 0;
double theta = 0f;
for (double i = 0; i <= 720d; i += 144d)
{
theta =( i - 5f) * Math.PI / 180d;
starPointFs[cnt] = new PointF((float)Math.Cos(theta), (float)Math.Sin(theta));
cnt++;
}
e.Graphics.DrawLines(Pens.Red, starPointFs);
//Matrix를 이용한 좌표변환 그리기...
Matrix mx = new Matrix(1f, 0f, 0f, 1f, this.Width/2, this.Height/2);
mx.Scale(100f, 100f);
mx.Rotate((float)angle);
mx.TransformPoints(starPointFs);
e.Graphics.DrawLines(Pens.Black, starPointFs);
}
Matrix의 기본 파라미터값( Sx , Rx, Ry, Sy, Dx, Dy ) 임.
Rx, 나 Ry를 값을 주면 왜곡되는데... 왜그런지 모르겠넹... 쩝.
매트릭스로 구현한 소스이다.
기초 메트릭스를 생성하고 여기에 크기변환, 회전값을 주고
별의 각 점좌표를 주고 변환 한다!
그리고 그려주면 별이 그려진다.
소스상에 i - 5f 는 두개의 별을 동시에 그리면 위상이 같아서 겹치므로 위상차를 주었다.
간단하게나마 매트릭스를 그려보았다.
음 어따 써먹쥐????????????????????????????? 이걸 왜했을까?
# 실제 이미지는 타이머로 빙글 빙글 돌리고 있다....
'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글
글꼴 폰트 관련 MSDN 링크 (0) | 2010.08.10 |
---|---|
소수 구하기 소스... (0) | 2010.08.06 |
IFormattable (0) | 2010.07.15 |
트리노드 검색해서 확장하기... (0) | 2010.03.17 |
목록 로테이션??? (0) | 2010.03.16 |
[WPF] Tab 순환코드
KeyboardNavigation.TabNavigation="Cycle"
페이지 내의 포커스가 마지막엘리먼트 이후 외부로 또는 어딘지 모르는곳으로 튀는것을 막기위해
처음엔 FocusManager.FocusedElement="{Binding ElementName=포커스지정엘리먼트명}"
으로 작성하여 잘 되는것처럼 보였으나...
탭컨트롤 안으로 들어가서 계층구조의 깊이가 깊어질수록 난해하고 복잡함에 지정된대로 적용도 안되고 하여
MSDN을 다시 읽어보던 중 키보드네비게이션을 발견!!
아쒸~~ 꼬박 하루 삽질해서 찾은거네.. ㅋㅋ 어쨌든..
참조 : http://msdn.microsoft.com/ko-kr/library/aa969768(VS.90).aspx#Keyboard_Focus
열심히 바꿔야겠군...
2015-09-05
첨부파일을 추가했음 ( 내부 ) : 사용자정의용컨트롤에 대한 처리.
'# 3) .Net ( Vs 2008 ) > WPF' 카테고리의 다른 글
IValueConverter 사용 데모 (0) | 2010.09.06 |
---|---|
WPF 쓰레드 ( 프로그래스바 ) (0) | 2010.08.10 |
툴을 제작 해서 프로젝트를... 진행하다! (0) | 2010.02.26 |
WPF 3D (0) | 2009.12.29 |
데이타바인딩(2) (0) | 2009.12.28 |