tchartHelper.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. /************************************************************************************************
  2. DATE : 2007-07-06
  3. WRITER : Comsquare
  4. DEFINITION : TrustForm4.0 TChart 관련 공통 JavaScript ( CMC )
  5. *************************************************************************************************/
  6. /************************************************************************************************
  7. 함수명 : createTChart ()
  8. 인자 :
  9. String objID - 생성될 TChart Object ID
  10. Integer leftPx - Left
  11. Integer topPx - Top
  12. Integer widthPx - Width
  13. Integer heightPx - Height
  14. [Object parentObj] - 생성될 타겟(부모 객체)
  15. 결과값 : Object TChart
  16. 함수설명 : TChart Control 생성
  17. ************************************************************************************************
  18. 작 성 자 : 김 기용
  19. 작 성 일 : 2007. 07. 06
  20. ************************************************************************************************/
  21. function createTChart(tChartID, leftPx, topPx, widthPx, heightPx, parentObj) {
  22. if( parentObj == null )
  23. parentObj = body;
  24. var tChartObj = parentObj.createChild("xforms:object", "id:" + tChartID + "; clsid:{fab9b41c-87d6-474d-ab7e-f07d78f2422e}; left:" + leftPx + "px; top:" + topPx + "px; width:" + widthPx + "px; height:" + heightPx + "px; ")
  25. return tChartObj;
  26. }
  27. function createTChart8(tChartID, leftPx, topPx, widthPx, heightPx, parentObj) {
  28. if( parentObj == null )
  29. parentObj = body;
  30. var tChartObj = parentObj.createChild("xforms:object", "id:" + tChartID + "; clsid:{BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196}; left:" + leftPx + "px; top:" + topPx + "px; width:" + widthPx + "px; height:" + heightPx + "px; ")
  31. return tChartObj;
  32. }
  33. /************************************************************************************************
  34. 함수명 : clearTChart ()
  35. 인자 :
  36. String tChartobj - Target Chart Object
  37. 결과값 :
  38. 함수설명 : TChart Clear
  39. ************************************************************************************************
  40. 작 성 자 : 김 기용
  41. 작 성 일 : 2007. 08. 14
  42. ************************************************************************************************/
  43. function clearTChart(tChartObj) {
  44. tChartObj.RemoveAllSeries();
  45. tChartObj.Tools.clear()
  46. }
  47. /************************************************************************************************
  48. 함수명 : drawBar ()
  49. 인자 :
  50. Object tChartObj - Target TChart Object
  51. Object gridObj - Source DataGrid
  52. String yColRef - Y축 데이터의 Column Ref 노드명
  53. String title - TChart Title
  54. [Boolean pivot] - true | false
  55. 결과값 :
  56. 함수설명 : Datagrid의 해당 로우 data를 반영하여 TChart에(Point Type) 그려 줌.
  57. ************************************************************************************************
  58. 작 성 자 : 김 기용
  59. 작 성 일 : 2007. 08. 14
  60. ************************************************************************************************/
  61. function drawBar(tChartObj, gridObj ,yColRef , title, pivot) {
  62. // TChart 초기화
  63. clearTChart(tChartObj);
  64. tChartObj.Header.Text(0) = title; // Title 설정
  65. tChartObj.Aspect.View3D = 0; // 3D 설정 :: 0 = 2D | 1 = 3D
  66. if( pivot )
  67. pivot = 2;
  68. else
  69. pivot = 1;
  70. tChartObj.AddSeries(pivot); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  71. tChartObj.Legend.visible = true;
  72. tChartObj.Series(0).marks.visible = false;
  73. var Rnd1, Rnd2, Rnd3;
  74. var cColor;
  75. var i;
  76. var x, y;
  77. var yCol = gridObj.colRef(yColRef);
  78. // alert(xCol + " : " + yCol);
  79. for (i = gridObj.fixedRows; i < gridObj.rows; i++ ) {
  80. Rnd1 = Math.random();
  81. Rnd2 = Math.random();
  82. Rnd3 = Math.random();
  83. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  84. x = gridObj.valueMatrix(i, 0);
  85. y = gridObj.valueMatrix(i, yCol);
  86. tChartObj.Series(0).Add (y, x, cColor);
  87. }
  88. }
  89. /************************************************************************************************
  90. 함수명 : drawSelectBar ()
  91. 인자 :
  92. Object chart - TeeChartObject
  93. Object grid - teechart 생성시 참고할 데이터를 가진 대상 grid Object
  94. String title - TeeChart 에 보여질 제목
  95. String rows - Grid 의 행번호배열( 예: grid의 1,2,4번째 행을 대상으로 하고 싶으면 grid[0]=1, grid[1]=2, grid[2]=4 인 길이 3짜리 배열 object)
  96. String cols - Grid 의 컬럼번호배열( 예: grid의 2,4번째 컬럼을 대상으로 하고 싶으면 grid[0]=2, grid[1]=4 인 길이 2짜리 배열 object)
  97. boolean legend - legend 의 visible 여부(true/false) 기본값은 true;
  98. boolean pivot - pivot 여부 (true/false) 기본값은 false;
  99. String type - X 축으로 지정할 기준 데이터(row/col)
  100. 1. row : Grid 의 row(행)이 X축, column(컬럼)이 그래프 데이터가 된다.
  101. 2. col : Grid 의 column(컬럼)이 X축, row(행)이 그래프 데이터가 된다.
  102. 결과값 :
  103. 함수설명 : Datagrid의 원하는 행, 컬럼을 선택해서 BAR 타입의 차트를 보여줌
  104. type == "row" 면 rows 가 X 축, cols 가 그래프 데이터가 된다.
  105. type == "col" 면 cols 가 X 축, rows 가 그래프 데이터가 된다.
  106. ************************************************************************************************
  107. 작 성 자 : 김 기호
  108. 작 성 일 : 2008.07.01
  109. ************************************************************************************************/
  110. function drawSelectBar(chart, grid, title, rows, cols, legend, pivot, type) {
  111. // TChart 초기화
  112. clearTChart(chart);
  113. chart.Header.Text(0) = title; // Title 설정
  114. chart.Aspect.View3D = 0; // 3D 설정 :: 0 = 2D | 1 = 3D
  115. if( pivot ) {
  116. pivot = 2;
  117. } else {
  118. pivot = 1;
  119. }
  120. if (legend) {
  121. chart.Legend.visible = true;
  122. } else {
  123. chart.Legend.visible = false;
  124. }
  125. if (type == "row") {
  126. var r, g, b, color;
  127. var x, y;
  128. for (var i = 0; i < cols.length; i++ ) {
  129. chart.AddSeries(pivot); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  130. var idx = chart.SeriesCount -1;
  131. chart.Series(idx).title = grid.valueMatrix(0, cols[i]);
  132. chart.Series(i).marks.visible = false;
  133. r = Math.random();
  134. g = Math.random();
  135. b = Math.random();
  136. color = window.rgb( (255 - 1) * r + 1, (255 - 1) * g + 1 , (255 - 1) * b + 1);
  137. for (var j = 0; j < rows.length; j++) {
  138. x = grid.valueMatrix(rows[j], 0);
  139. y = grid.valueMatrix(rows[j], cols[i]);
  140. //alert("x : " + x + "\ny : " + y + "\ncolor : " + color + "\ni : " + i + "\nj : " + j);
  141. chart.Series(i).Add (y, x, chart.Series(idx).Color);
  142. chart.Series(i).LegendItemColor(color)
  143. }
  144. }
  145. } else if (type == "col") {
  146. var r, g, b, color;
  147. var x, y;
  148. for (var i = 0; i < rows.length; i++ ) {
  149. chart.AddSeries(pivot); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  150. var idx = chart.SeriesCount -1;
  151. chart.Series(idx).title = grid.valueMatrix(rows[i], 0);
  152. chart.Series(i).marks.visible = false;
  153. r = Math.random();
  154. g = Math.random();
  155. b = Math.random();
  156. color = window.rgb( (255 - 1) * r + 1, (255 - 1) * g + 1 , (255 - 1) * b + 1);
  157. for (var j = 0; j < cols.length; j++) {
  158. x = grid.valueMatrix(0, cols[j]);
  159. y = grid.valueMatrix(rows[i], cols[j]);
  160. //alert("x : " + x + "\ny : " + y + "\ncolor : " + color + "\ni : " + i + "\nj : " + j);
  161. chart.Series(i).Add (y, x, chart.Series(idx).Color);
  162. chart.Series(i).LegendItemColor(color)
  163. }
  164. }
  165. }
  166. }
  167. /************************************************************************************************
  168. 함수명 : drawLine ()
  169. 인자 :
  170. Object tChartObj - Target TChart Object
  171. Object gridObj - Source DataGrid
  172. Integer row - Datagrid Source row
  173. [String title] - TChart Title
  174. [Boolean refresh] - 초기화 여부
  175. 결과값 :
  176. 함수설명 : Datagrid의 해당 로우 data를 반영하여 TChart에(Point Type) 그려 줌.
  177. ************************************************************************************************
  178. 작 성 자 : 김 기용
  179. 작 성 일 : 2007. 07. 06
  180. ************************************************************************************************/
  181. function drawLine(tChartObj, gridObj, row, title, refresh) {
  182. // TChart 초기화
  183. if( refresh ) {
  184. clearTChart(tChartObj);
  185. }
  186. if( title != null || title == "" ) {
  187. tChartObj.Header.Text(0) = title; // Title 설정
  188. }
  189. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  190. tChartObj.Legend.CheckBoxes = true;
  191. tChartObj.Legend.Alignment = 0; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  192. var Rnd1, Rnd2, Rnd3;
  193. var cColor;
  194. var i;
  195. var x, y;
  196. tChartObj.AddSeries(0); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  197. var seriesIndex = tChartObj.SeriesCount - 1;
  198. var trgRow = row;
  199. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  200. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  201. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(trgRow, 0);
  202. //tChartObj.Series(cline - 2).Marks.Style = 0;
  203. Rnd1 = Math.random();
  204. Rnd2 = Math.random();
  205. Rnd3 = Math.random();
  206. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  207. for( i = gridObj.fixedCols; i < gridObj.cols; i++ ){
  208. x = gridObj.valueMatrix(0, i);
  209. y = gridObj.valueMatrix(trgRow, i);
  210. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  211. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  212. }
  213. }
  214. // 함수명 변경으로 기존 함수 유지 20070813
  215. function drawOneTChart(tChartObj, gridObj, row, title, refresh) {
  216. drawLine(tChartObj, gridObj, row, title, refresh);
  217. }
  218. /************************************************************************************************
  219. 함수명 : drawLineAll ()
  220. 인자 :
  221. Object tChartObj - Target TChart Object
  222. Object gridObj - Source DataGrid
  223. String title - TChart Title
  224. 결과값 :
  225. 함수설명 : Datagrid data를 반영하여 TChart에(Point Type) 그려 줌.
  226. ************************************************************************************************
  227. 작 성 자 : 김 기용
  228. 작 성 일 : 2007. 07. 06
  229. ************************************************************************************************/
  230. function drawLineAll(tChartObj, gridObj, title, refresh) {
  231. if( refresh ) {
  232. clearTChart(tChartObj);
  233. }
  234. for( var i = gridObj.fixedRows; i < gridObj.rows; i ++)
  235. drawOneTChart(tChartObj, gridObj, i, title, false);
  236. }
  237. // 함수명 변경으로 기존 함수 유지 20070813
  238. function drawAllTChart(tChartObj, gridObj, title) {
  239. drawLineAll(tChartObj, gridObj, title);
  240. }
  241. //chart 배경이미지 클라이언트 경로만 가능함
  242. //작성자: 김선희(Create 2008.01.30)
  243. function setBackImageLoad(tChartObj, imgCd){
  244. tChartObj.Panel.BackImageLoad(getTChartBackgroundImage(imgCd));
  245. }
  246. function getTChartBackgroundImage(imgcd){
  247. return "C:\\Program Files\\himed\\components\\ClipSoft\\teechart7\\images\\"+imgcd+".gif";
  248. }
  249. function drawbyCol(tChartObj, gridObj, Style, Col, StartRow, title, refresh, checked,marked) {
  250. // TChart 초기화
  251. if( refresh ) {
  252. clearTChart(tChartObj);
  253. }
  254. tChartObj.Panel.MarginTop = 0;
  255. tChartObj.Panel.MarginLeft = 0;
  256. tChartObj.Panel.MarginRight =0;
  257. tChartObj.Panel.MarginBottom = 0;
  258. if (marked == null){
  259. marked = false;}
  260. if( title != null || title == "" ) {
  261. tChartObj.Header.Text(0) = title; // Title 설정
  262. }
  263. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  264. tChartObj.Zoom.Enable = true;
  265. //tChartObj.Panel.Color = window.rgb(255,255,255);
  266. tChartObj.Zoom.Animated.Enable = true;
  267. tChartObj.Environment.MouseWheelScroll = false;
  268. tChartObj.Scroll.Enable = true;
  269. if(checked)
  270. {
  271. tChartObj.Legend.CheckBoxes = true;
  272. tChartObj.Legend.Alignment = 1; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  273. }
  274. else
  275. {
  276. tChartObj.Legend.visible = false;
  277. tChartObj.Legend.CheckBoxes = false;
  278. }
  279. var Rnd1, Rnd2, Rnd3;
  280. var cColor;
  281. var i;
  282. var x, y;
  283. tChartObj.AddSeries(Style); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  284. var seriesIndex = tChartObj.SeriesCount - 1;
  285. var trgCol = Col;
  286. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(StartRow - 1, Col);
  287. tChartObj.Series(seriesIndex).Marks.Visible = marked;
  288. tChartObj.Series(seriesIndex).Marks.Style =0;
  289. tChartObj.Series(seriesIndex).Marks.Frame.Visible = false;
  290. tChartObj.Series(seriesIndex).Marks.Transparent=true;
  291. Rnd1 = Math.random();
  292. Rnd2 = Math.random();
  293. Rnd3 = Math.random();
  294. cColor = window.rgb( (200 - 1) * Rnd1 + 1, (200 - 1) * Rnd2 + 1 , (200 - 1) * Rnd3 + 1);
  295. for( i = StartRow; i < gridObj.Rows-1; i++ ){
  296. x = gridObj.valueMatrix(i, 0 );
  297. y = gridObj.valueMatrix(i, trgCol);
  298. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  299. if(Style != 13 )
  300. {
  301. if(Style != 17 )
  302. {
  303. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  304. }
  305. }
  306. tChartObj.Series(seriesIndex).Marks.Font.Color=tChartObj.Series(seriesIndex).Color;
  307. }
  308. tChartObj.Axis.Bottom.Labels.Font.Name = 17;
  309. // tChartObj.Scroll.Enable = true;
  310. // tChartObj.Axis.Left.Automatic = true;
  311. //tChartObj.Tools.Add(7); // Rotate
  312. //tChartObj.Tools.Add(10);
  313. tChartObj.Series(seriesIndex).Depth = seriesIndex;
  314. if(Style == 0)
  315. {
  316. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  317. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  318. tChartObj.Series(seriesIndex).asLine.LinePen.Width = 3;
  319. }
  320. else if(Style == 1)
  321. {
  322. tChartObj.Series(seriesIndex).asBar.BarStyle = 6;
  323. tChartObj.Series(seriesIndex).asBar.Gradient.Visible = true;
  324. tChartObj.Series(seriesIndex).asBar.Gradient.Direction = 5;
  325. }
  326. else if(Style == 4)
  327. {
  328. tChartObj.Series(seriesIndex).asPoint.Pointer.Style = 1;
  329. }
  330. }
  331. function drawbyCol1(tChartObj, gridObj, Style, Col, StartRow, title, refresh, checked,marked) {
  332. // TChart 초기화
  333. if( refresh ) {
  334. clearTChart(tChartObj);
  335. }
  336. tChartObj.Panel.MarginTop = 0;
  337. tChartObj.Panel.MarginLeft = 0;
  338. tChartObj.Panel.MarginRight =0;
  339. tChartObj.Panel.MarginBottom = 0;
  340. if (marked == null){
  341. marked = false;}
  342. if( title != null || title == "" ) {
  343. tChartObj.Header.Text(0) = title; // Title 설정
  344. }
  345. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  346. tChartObj.Zoom.Enable = true;
  347. //tChartObj.Panel.Color = window.rgb(255,255,255);
  348. tChartObj.Zoom.Animated.Enable = true;
  349. tChartObj.Environment.MouseWheelScroll = false;
  350. tChartObj.Scroll.Enable = true;
  351. if(checked)
  352. {
  353. tChartObj.Legend.CheckBoxes = true;
  354. tChartObj.Legend.Alignment = 1; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  355. }
  356. else
  357. {
  358. tChartObj.Legend.visible = false;
  359. tChartObj.Legend.CheckBoxes = false;
  360. }
  361. var Rnd1, Rnd2, Rnd3;
  362. var cColor;
  363. var i;
  364. var x, y;
  365. tChartObj.AddSeries(Style); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  366. var seriesIndex = tChartObj.SeriesCount - 1;
  367. var trgCol = Col;
  368. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(StartRow - 1, Col);
  369. tChartObj.Series(seriesIndex).Marks.Visible = marked;
  370. tChartObj.Series(seriesIndex).Marks.Style =0;
  371. tChartObj.Series(seriesIndex).Marks.Frame.Visible = false;
  372. tChartObj.Series(seriesIndex).Marks.Transparent=true;
  373. Rnd1 = Math.random();
  374. Rnd2 = Math.random();
  375. Rnd3 = Math.random();
  376. cColor = window.rgb( (200 - 1) * Rnd1 + 1, (200 - 1) * Rnd2 + 1 , (200 - 1) * Rnd3 + 1);
  377. for( i = StartRow; i < gridObj.Rows; i++ ){
  378. x = gridObj.valueMatrix(i, 0 );
  379. y = gridObj.valueMatrix(i, trgCol);
  380. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  381. if(Style != 13 )
  382. {
  383. if(Style != 17 )
  384. {
  385. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  386. }
  387. }
  388. tChartObj.Series(seriesIndex).Marks.Font.Color=tChartObj.Series(seriesIndex).Color;
  389. }
  390. //tChartObj.Axis.Bottom.Labels.Font.Name = "@Arial";
  391. // tChartObj.Scroll.Enable = true;
  392. // tChartObj.Axis.Left.Automatic = true;
  393. //tChartObj.Tools.Add(7); // Rotate
  394. //tChartObj.Tools.Add(10);
  395. tChartObj.Series(seriesIndex).Depth = seriesIndex;
  396. if(Style == 0)
  397. {
  398. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  399. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  400. tChartObj.Series(seriesIndex).asLine.LinePen.Width = 3;
  401. }
  402. else if(Style == 1)
  403. {
  404. tChartObj.Series(seriesIndex).asBar.BarStyle = 6;
  405. tChartObj.Series(seriesIndex).asBar.Gradient.Visible = true;
  406. tChartObj.Series(seriesIndex).asBar.Gradient.Direction = 5;
  407. }
  408. else if(Style == 4)
  409. {
  410. tChartObj.Series(seriesIndex).asPoint.Pointer.Style = 1;
  411. }
  412. }
  413. function drawBarStyle(tChartObj, gridObj ,yColRef , title) {
  414. // TChart 초기화
  415. clearTChart(tChartObj);
  416. tChartObj.Header.Text(0) = title; // Title 설정
  417. tChartObj.Aspect.View3D = 0; // 3D 설정 :: 0 = 2D | 1 = 3D
  418. // tChartObj.Panel.Color = window.rgb(255,255,255);
  419. tChartObj.AddSeries(1); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  420. tChartObj.Legend.visible = false;
  421. tChartObj.Series(0).marks.visible = true;
  422. tChartObj.Series(0).Marks.Style =0;
  423. tChartObj.Series(0).Marks.Transparent=true;
  424. tChartObj.Series(0).asBar.BarStyle = 6;
  425. tChartObj.Series(0).asBar.Gradient.Visible = true;
  426. tChartObj.Series(0).asBar.Gradient.Direction = 5;
  427. var Rnd1, Rnd2, Rnd3;
  428. var cColor;
  429. var i;
  430. var x, y;
  431. var yCol = gridObj.colRef(yColRef);
  432. // alert(xCol + " : " + yCol);
  433. for (i = gridObj.fixedRows; i < gridObj.rows; i++ ) {
  434. Rnd1 = Math.random();
  435. Rnd2 = Math.random();
  436. Rnd3 = Math.random();
  437. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  438. x = gridObj.valueMatrix(i, 0);
  439. y = gridObj.valueMatrix(i, yCol);
  440. tChartObj.Series(0).Add (y, x, cColor);
  441. }
  442. }
  443. function drawLineWithMark(tChartObj, gridObj, row, title, refresh) {
  444. // TChart 초기화
  445. if( refresh ) {
  446. clearTChart(tChartObj);
  447. }
  448. if( title != null || title == "" ) {
  449. tChartObj.Header.Text(0) = title; // Title 설정
  450. }
  451. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  452. tChartObj.Legend.CheckBoxes = true;
  453. tChartObj.Legend.Alignment = 1; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  454. var Rnd1, Rnd2, Rnd3;
  455. var cColor;
  456. var i;
  457. var x, y;
  458. tChartObj.AddSeries(0); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  459. var seriesIndex = tChartObj.SeriesCount - 1;
  460. var trgRow = row;
  461. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  462. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  463. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(trgRow, 0);
  464. tChartObj.Series(seriesIndex).marks.visible = true;
  465. tChartObj.Series(seriesIndex).Marks.Style =0;
  466. tChartObj.Series(seriesIndex).Marks.Transparent=true;
  467. tChartObj.Series(seriesIndex).asLine.LinePen.Width = 4;
  468. //tChartObj.Series(cline - 2).Marks.Style = 0;
  469. Rnd1 = Math.random();
  470. Rnd2 = Math.random();
  471. Rnd3 = Math.random();
  472. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  473. for( i = gridObj.fixedCols; i < gridObj.cols; i++ ){
  474. x = gridObj.valueMatrix(0, i);
  475. y = gridObj.valueMatrix(trgRow, i);
  476. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  477. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  478. }
  479. }
  480. function drawbyRow(tChartObj, gridObj, Style, Row, title, refresh, checked,marked,vmax,vmin) {
  481. // TChart 초기화
  482. if( refresh ) {
  483. clearTChart(tChartObj);
  484. }
  485. tChartObj.Panel.MarginTop = 2;
  486. tChartObj.Panel.MarginLeft = 0;
  487. tChartObj.Panel.MarginRight =0;
  488. tChartObj.Panel.MarginBottom = 5;
  489. if (marked == null){
  490. marked = false;}
  491. if( title != null || title == "" ) {
  492. tChartObj.Header.Text(0) = title; // Title 설정
  493. }
  494. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  495. tChartObj.Zoom.Enable = true;
  496. //tChartObj.Panel.Color = window.rgb(255,255,255);
  497. tChartObj.Zoom.Animated.Enable = true;
  498. tChartObj.Environment.MouseWheelScroll = false;
  499. tChartObj.Scroll.Enable = true;
  500. if(checked)
  501. {
  502. tChartObj.Legend.CheckBoxes = true;
  503. tChartObj.Legend.Alignment = 1; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  504. }
  505. else
  506. {
  507. tChartObj.Legend.visible = false;
  508. tChartObj.Legend.CheckBoxes = false;
  509. }
  510. var Rnd1, Rnd2, Rnd3;
  511. var cColor;
  512. var i;
  513. var x, y;
  514. tChartObj.AddSeries(Style); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  515. var seriesIndex = tChartObj.SeriesCount - 1;
  516. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(Row , 0);
  517. tChartObj.Series(seriesIndex).Marks.Visible = marked;
  518. tChartObj.Series(seriesIndex).Marks.Style =0;
  519. tChartObj.Series(seriesIndex).Marks.Frame.Visible = false;
  520. tChartObj.Series(seriesIndex).Marks.Transparent=true;
  521. Rnd1 = Math.random();
  522. Rnd2 = Math.random();
  523. Rnd3 = Math.random();
  524. cColor = window.rgb( (200 - 1) * Rnd1 + 1, (200 - 1) * Rnd2 + 1 , (200 - 1) * Rnd3 + 1);
  525. for( i = gridObj.fixedCols; i < gridObj.cols; i++ ){
  526. x = gridObj.valueMatrix(0, i);
  527. y = gridObj.valueMatrix(Row, i);
  528. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  529. if(Style != 13 )
  530. {
  531. if(Style != 17 )
  532. {
  533. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  534. }
  535. }
  536. tChartObj.Series(seriesIndex).Marks.Font.Color=tChartObj.Series(seriesIndex).Color;
  537. }
  538. tChartObj.Axis.Bottom.Labels.Font.Name = 17;
  539. tChartObj.Axis.Bottom.Labels.multiline = true; //하단축 Label 2줄 설정
  540. tChartObj.Axis.Bottom.Labels.Font.Size = 9; //하단축 Label 폰트 사이즈 조절
  541. tChartObj.Axis.Left.Labels.Font.Size = 9; //하단축 Label 폰트 사이즈 조절
  542. tChartObj.Axis.Left.setminmax(vmin,vmax);
  543. // tChartObj.Scroll.Enable = true;
  544. // tChartObj.Axis.Left.Automatic = true;
  545. //tChartObj.Tools.Add(7); // Rotate
  546. //tChartObj.Tools.Add(10);
  547. tChartObj.Series(seriesIndex).Depth = seriesIndex;
  548. if(Style == 0)
  549. {
  550. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = false;
  551. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  552. tChartObj.Series(seriesIndex).asLine.LinePen.Width = 2;
  553. }
  554. else if(Style == 1)
  555. {
  556. tChartObj.Series(seriesIndex).asBar.BarStyle = 6;
  557. tChartObj.Series(seriesIndex).asBar.Gradient.Visible = true;
  558. tChartObj.Series(seriesIndex).asBar.Gradient.Direction = 5;
  559. }
  560. else if(Style == 4)
  561. {
  562. tChartObj.Series(seriesIndex).asPoint.Pointer.Style = 1;
  563. }
  564. }