블로그 이미지
프로그램을 가장 훌륭하게 작성하는 방법은 상태가 변경되는 오브젝트들과 수학적인 값을 나타내는 오브젝트들의 조합으로 표현하는 것이다. -Kent Beck 초초초보

카테고리

Programming (184)
ASP.NET (9)
Silverlight (2)
Javascript (20)
C# (8)
java (25)
SQL (14)
Oracle (3)
MyBatis (3)
기타 (52)
개발방법론 (1)
trouble shooting (2)
Linux (5)
스칼라 (5)
html (2)
grails & gradle (3)
Spring (2)
rabbitmq (1)
(3)
spark (0)
docker (3)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글


이 글은 두 가지의 주제로 이루어져 있다.
첫 번째는 Javscript -> Silverlight 이고
두 번째는 Silverlight -> Javascript 이다

 첫 번째 Javascript 에서 Silverlight 로의 통신은 페이지를 만들 때 Full Silverlight 는 거의 없다.
html 페이지에서 일부분을 Silverlight 로 꾸미게 된다.
그럴 때 html 페이지에서 실버라이트의 상태를 바꾸고자 할 때 이용된다.

총 4단계를 거쳐서 Javascript 에서 Silverlight 로의 통신이 이루어져 진다.

1단계 : script 를 사용할 클래스에 System.Windows.Browser namespace 의 [ScriptableType] Attributte 를 설정해준다.
          그리고 script 를 사용할 멤버 메소드에 [ScriptableMember] Attributte를 설정해 준다.
2단계 : 해당 클래스 생성자에 HtmlPage.RegisterScriptableObject("scriptKey", this);코드를 넣어준다.
           --> 첫 번째 매개변수는 스크립트를 등록을 하게 되는 키를 나타내고 두 번째 매개변수는 스크립트를 적용할 개체(Object)이다.

1단계와 2단계 예제 소스

  [ScriptableType] //스크립트 사용할 클레스에 선언
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
            HtmlPage.RegisterScriptableObject("scriptKey", this); //스크립트 키 등록
         }

        [ScriptableMember] // 스크립트 사용할 메소드
        public void alert(string message)
        {
            HtmlPage.Window.Alert(message);
        }
    }





3단계 : 이제 Silverlight 에서 준비할 내용은 모두 끝났다. Javascript에서 Silverlight 메소드를 호출할 코드를 작성하면 된다.
          간단한 Javascript 함수를 만들면 
       function gogo() {
        //Object 태그의 ID
            var object = document.getElementById("silver");
            if (object) {
          //실버라이트 메소드 호출
                object.content.scriptKey.alert("hihi");
            }
        }
실버라이트 메소드 호출 부분을 보면 실버라이트 배포할 때 쓰인 태그인 object 의 ID 객체를 가져와서
객체.content.scriptKey.alert("hihi");
scriptKey 는 2단계에서 말한 scriptKey의 Key에 해당하며
alert("hihi") 는 Silverlight에서 호출될 메서드 명이다.

4단계 : 3단계에서 작성한 gogo() 함수를 호출하면 Silverlight의 alert() 메소드가 호출된다.

ps. Silverlight 에서 메소드를 호출 하고 작업을 실행 후 문자열, 숫자 등을 return 받는 것도 가능 하다.

 두 번째 Silverligt 에서 Javascript의 호출은 2단계를 거쳐서 구현 할 수 있다.
1단계 : Javascript에서 실행 할 함수를 하나 만든다
예제 소스 : 매개 변수 받아서 경고창 띄워준다.
         function gogogo1(val) {
            alert(val);
        }


 2단계 : System.Windows.Browser namespace의
ScriptObject Class 를 이용하여 가능할 수 있다.
ScriptObject  Class 를 생성을 하는데 생성 하는 방법은

ScriptObject script =  HtmlPage.Window.GetProperty("gogogo") as ScriptObject;
script.InvokeSelf("hihi");

System.Windows.Browser namespace의 HtmlPage.Window.GetProperty메소드를 사용 한다.
매개변수로 들어 가는 건 Javascript에서 정의한 함수명 이다.
GetProperty는 Object 를 반환 해주기 때문에 캐스팅을 해주어야 한다.

InvokeSelf 매소드는 실제로 함수 호출 부분이다.
매개변수는 params Object[] 이기 때문에 Javascript 에서 정의한 함수대로 매개변수를 넣어주면 된다.
그러면 Javscript 함수가 호출되는 것이다.

ps. 마찬가지로 기본형식은 return 받을 수 있다.
아래는 예제 소스이다.
버튼을 클릭 했을 경우 Javascript 함수를 호출하는 간단 소스
예제소스
         void button1_Click(object sender, RoutedEventArgs e)
        {
            //ScriptObject 객체에 gogogo 함수 등록
            ScriptObject script =  HtmlPage.Window.GetProperty("gogogo") as ScriptObject;
            //실제 함수 호출
            script.InvokeSelf("hihi");
        }
















Posted by 초초초보
, |

Pie Chart와 Doughnut Chart 1

ASP.NET / 2008. 12. 5. 16:00

Pie Chart와 Doughnut Chart이다.
이미지는 Pie Chart 이지만 Doughnut  Chart도 동일함.

Pie Chart와 Doughnut Chart를 간단히 만들면 대략  이런 모습이 된다.(이건 Pie Chart)



하지만 1.0% 등 짜투리가 있는데 짜투리를 합치고 싶으면

 series1["CollectedThreshold"]  = comboBoxCollectedThreshold.SelectedItem.ToString();
--> 시리즈["CollectedThreshold"] = "?%";

몇 %아래부터 합칠 것이지 그건 선택 사항이다.
저런 조각들을 합치면 이런 모습이 된다.(8%) 아래를 합친 모습



저런 조각들을 합친 후 조각들의 모음만 따로 떼어낼 수가 있다.

 series1["CollectedSliceExploded"] = this.ShowExplode.Checked.ToString();
--> 시리즈["CollectedSliceExploded"] = "true";

조각만 따로 떼어낸 모습은 아래와 같다.




기타 속성 정의
시리즈["CollectedLabel"] = "Other";   //조각에 쓰기
시리즈["CollectedLegendText"] ="2121212";// 설명에 쓰기
시리즈["CollectedColor"] = "색깔명";


주의사항 : 모든 속성은 String 으로 정의해 준다


2번은 좀더 많은 속성들을 적을것임.





Posted by 초초초보
, |

Chart Control 시작하기 4

ASP.NET / 2008. 12. 4. 16:41

각 속성 변경하기.

1. Chart Control의 Series의 색깔 변경하기

html 코드에서
 <asp:Series  Name="Series1" Color="Cyan">

cs 코드에서
Chart1.Series["Series1"].Color = System.Drawing.Color.Cyan;

2. Chart Control의 Series의 width 변경하기

html 코드에서.
모름

cs 코드에서
Chart1.Series["Series2"]["PointWidth"] = "1";
double 형식이지만 string으로 대입해 주어야 함.



Posted by 초초초보
, |