hqchart 1.1.13963 → 1.1.13969

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -203,6 +203,12 @@ function JSReportChart(divElement)
203
203
  if (IFrameSplitOperator.IsNumber(item.Sort)) chart.SortInfo.Sort=item.Sort;
204
204
  }
205
205
 
206
+ if (option.VirtualTable)
207
+ {
208
+ var item=option.VirtualTable;
209
+ if (IFrameSplitOperator.IsBool(item.Enable)) chart.Data.Virtual.Enable=item.Enable;
210
+ }
211
+
206
212
  var reportChart=chart.GetReportChart();
207
213
  if (reportChart)
208
214
  {
@@ -417,7 +423,7 @@ function JSReportChartContainer(uielement)
417
423
  this.Symbol; //板块代码
418
424
  this.Name; //板块名称
419
425
  this.NetworkFilter; //数据回调接口
420
- this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
426
+ this.Data={ XOffset:0, YOffset:0, Data:[], Virtual:{ Enable:false, Count:0 } }; //股票列表 (Virtual 虚拟表)
421
427
  this.SourceData={ Data:[] } ; //原始股票顺序(排序还原用)
422
428
  this.BlockData=new Map(); //当前板块数据
423
429
  this.MapStockData=new Map(); //原始股票数据
@@ -786,6 +792,7 @@ function JSReportChartContainer(uielement)
786
792
  {
787
793
  this.SourceData.Data=[];
788
794
  this.Data.Data=[];
795
+ this.Data.Virtual.Count=0;
789
796
  this.BlockData=new Map();
790
797
  }
791
798
 
@@ -1042,6 +1049,12 @@ function JSReportChartContainer(uielement)
1042
1049
  }
1043
1050
  }
1044
1051
 
1052
+ if (recvData.Virtual) //虚拟表设置
1053
+ {
1054
+ var item=recvData.Virtual;
1055
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
1056
+ }
1057
+
1045
1058
  this.Draw();
1046
1059
  this.UpdateStockData();
1047
1060
  }
@@ -1267,6 +1280,12 @@ function JSReportChartContainer(uielement)
1267
1280
  var chart=this.ChartPaint[0];
1268
1281
  if (!chart) return;
1269
1282
 
1283
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
1284
+ {
1285
+ this.RequestVirtualStockData(); //虚拟表格 全部取后台
1286
+ return;
1287
+ }
1288
+
1270
1289
  if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0)
1271
1290
  {
1272
1291
  var column=chart.Column[this.SortInfo.Field];
@@ -2622,8 +2641,9 @@ function JSReportChartContainer(uielement)
2622
2641
  if (!chart) return false;
2623
2642
 
2624
2643
  var pageSize=chart.GetPageSize();
2625
- if (pageSize>this.Data.Data.length) return false;
2626
- if (this.Data.YOffset+pageSize>=this.Data.Data.length)
2644
+ var dataCount=chart.GetAllRowCount();
2645
+ if (pageSize>dataCount) return false;
2646
+ if (this.Data.YOffset+pageSize>=dataCount)
2627
2647
  {
2628
2648
  if (bCycle===true)
2629
2649
  {
@@ -2637,7 +2657,7 @@ function JSReportChartContainer(uielement)
2637
2657
  }
2638
2658
 
2639
2659
  this.Data.YOffset+=pageSize;
2640
- var showDataCount=this.Data.Data.length-this.Data.YOffset;
2660
+ var showDataCount=dataCount-this.Data.YOffset;
2641
2661
 
2642
2662
  if (chart.SelectedModel==0)
2643
2663
  {
@@ -2653,13 +2673,14 @@ function JSReportChartContainer(uielement)
2653
2673
  var chart=this.ChartPaint[0];
2654
2674
  if (!chart) return false;
2655
2675
  var pageSize=chart.GetPageSize();
2656
- if (pageSize>this.Data.Data.length) return false;
2676
+ var dataCount=chart.GetAllRowCount();
2677
+ if (pageSize>dataCount) return false;
2657
2678
 
2658
2679
  if (this.Data.YOffset<=0)
2659
2680
  {
2660
2681
  if (bCycle===true)
2661
2682
  {
2662
- this.Data.YOffset=this.Data.Data.length-pageSize; //循环到最后一页
2683
+ this.Data.YOffset=dataCount-pageSize; //循环到最后一页
2663
2684
  return true;
2664
2685
  }
2665
2686
  else
@@ -3097,7 +3118,16 @@ function JSReportChartContainer(uielement)
3097
3118
  if (column.Sort!=1 && column.Sort!=2) return false;
3098
3119
 
3099
3120
  var sortInfo={ Field:index, Sort:sortType };
3100
- if (sortInfo.Sort==0) //不排序还原
3121
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
3122
+ {
3123
+ this.SortInfo.Field=sortInfo.Field;
3124
+ this.SortInfo.Sort=sortInfo.Sort;
3125
+ this.Data.YOffset=0;
3126
+ this.ResetReportSelectStatus();
3127
+ this.RequestVirtualStockData(); //虚拟表格
3128
+ return true;
3129
+ }
3130
+ else if (sortInfo.Sort==0) //不排序还原
3101
3131
  {
3102
3132
  this.Data.Data=[];
3103
3133
  if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
@@ -3815,6 +3845,12 @@ function JSReportChartContainer(uielement)
3815
3845
  }
3816
3846
  }
3817
3847
 
3848
+ if (data.Virtual)
3849
+ {
3850
+ var item=data.Virtual;
3851
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
3852
+ }
3853
+
3818
3854
  var chart=this.ChartPaint[0];
3819
3855
  if (!chart) return;
3820
3856
 
@@ -3823,6 +3859,70 @@ function JSReportChartContainer(uielement)
3823
3859
  if (bUpdate) this.Draw();
3824
3860
  }
3825
3861
 
3862
+ //虚拟表格 请求序号 所有数据后台返回
3863
+ this.RequestVirtualStockData=function()
3864
+ {
3865
+ var chart=this.ChartPaint[0];
3866
+ if (!chart) return;
3867
+
3868
+ var self=this;
3869
+ var startIndex=this.Data.YOffset;
3870
+ var pageSize=chart.GetPageSize();
3871
+ var endIndex=startIndex+pageSize;
3872
+ var dataCount=chart.GetAllRowCount();
3873
+ if (endIndex>=dataCount) endIndex=dataCount-1;
3874
+
3875
+ if (!this.NetworkFilter) return;
3876
+
3877
+ var requestData=
3878
+ {
3879
+ range:{ start:startIndex, end:endIndex, count:chart.GetAllRowCount() },
3880
+ column:null,
3881
+ sort:0, symbol:this.Symbol, name:this.Name,
3882
+ pageSize:pageSize
3883
+ }
3884
+
3885
+ if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0) //排序
3886
+ {
3887
+ var column=chart.Column[this.SortInfo.Field];
3888
+ requestData.column={ name: column.Title, type: column.Type, index:this.SortInfo.Field, ID:column.ID };
3889
+ requestData.sort=this.SortInfo.Sort;
3890
+ }
3891
+
3892
+ var obj=
3893
+ {
3894
+ Name:'JSDealChartContainer::RequestVirtualStockData', //类名::函数名
3895
+ Explain:'报价列表股票数据(虚拟表格)',
3896
+ Request:
3897
+ {
3898
+ Data: requestData
3899
+ },
3900
+ Self:this,
3901
+ PreventDefault:false
3902
+ };
3903
+
3904
+ if (chart.FixedRowCount>0 && chart.FixedRowData.Type==1)
3905
+ {
3906
+ var arySymbol=[];
3907
+ for(var i=0;i<chart.FixedRowData.Symbol.length;++i)
3908
+ {
3909
+ var item=chart.FixedRowData.Symbol[i];
3910
+ if (item) arySymbol.push(item);
3911
+ }
3912
+
3913
+ obj.Request.FixedSymbol=arySymbol;
3914
+ }
3915
+
3916
+ this.NetworkFilter(obj, function(data)
3917
+ {
3918
+ self.RecvStockSortData(data);
3919
+ self.AutoUpdate();
3920
+ });
3921
+
3922
+ if (obj.PreventDefault==true) return;
3923
+
3924
+ }
3925
+
3826
3926
  //底部标签
3827
3927
  this.ShowPageInfo=function(bShow)
3828
3928
  {
@@ -4502,8 +4602,9 @@ function ChartReport()
4502
4602
  this.GetYScrollRange=function()
4503
4603
  {
4504
4604
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
4605
+ var dataCount=this.GetAllRowCount();
4505
4606
 
4506
- var maxOffset=this.Data.Data.length-this.RowCount;
4607
+ var maxOffset=dataCount-this.RowCount;
4507
4608
 
4508
4609
  return maxOffset;
4509
4610
  }
@@ -5079,6 +5180,14 @@ function ChartReport()
5079
5180
  this.Canvas.stroke();
5080
5181
  }
5081
5182
 
5183
+ //获取一共多少行
5184
+ this.GetAllRowCount=function()
5185
+ {
5186
+ var count=this.Data.Data.length;
5187
+ if (this.Data.Virtual && this.Data.Virtual.Enable) count=this.Data.Virtual.Count;
5188
+ return count;
5189
+ }
5190
+
5082
5191
  this.DrawBody=function()
5083
5192
  {
5084
5193
  if (!this.Data) return;
@@ -5118,7 +5227,8 @@ function ChartReport()
5118
5227
  var setSelected;
5119
5228
  if (this.MultiSelectModel==1) setSelected=new Set(this.MultiSelectedRow);
5120
5229
 
5121
- for(var i=this.Data.YOffset, j=0; i<this.Data.Data.length && j<this.RowCount ;++i, ++j)
5230
+ var dataCount=this.GetAllRowCount();
5231
+ for(var i=this.Data.YOffset, j=0; i<dataCount && j<this.RowCount ;++i, ++j)
5122
5232
  {
5123
5233
  var symbol=this.Data.Data[i];
5124
5234
 
@@ -170,6 +170,10 @@ HQData.NetworkFilter=function(data, callback)
170
170
  //HQChart使用教程95-报价列表对接第3方数据4-股票排序数据
171
171
  HQData.Report_RequestStockSortData(data, callback);
172
172
  break;
173
+ case "JSDealChartContainer::RequestVirtualStockData":
174
+ HQData.Report_RequestVirtualStockData(data, callback); //股票数据 虚拟表格
175
+ break;
176
+
173
177
  }
174
178
  }
175
179
 
@@ -1040,6 +1044,30 @@ HQData.Report_RequestStockListData=function(data, callback)
1040
1044
 
1041
1045
  }
1042
1046
 
1047
+ //空码表
1048
+ HQData.Report_RequestStockListData_Empty=function(data, callback)
1049
+ {
1050
+ data.PreventDefault=true;
1051
+ var hqchartData={ data:[] };
1052
+ console.log("[HQData.Report_RequestStockListData_EMPTY] hqchartData",hqchartData);
1053
+ callback(hqchartData);
1054
+ }
1055
+
1056
+ HQData.Report_RequestMemberVirtualListData=function(data, callback, option)
1057
+ {
1058
+ var symbol=data.Request.Data.symbol; //板块代码
1059
+ data.PreventDefault=true;
1060
+
1061
+ var hqchartData= { symbol:symbol , name:symbol, data:[] , code:0, Virtual:{ Count:option.Virtual.Count } };
1062
+
1063
+ for(var i=0; i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length && i<50; ++i )
1064
+ {
1065
+ hqchartData.data.push(SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
1066
+ }
1067
+
1068
+ callback(hqchartData);
1069
+ }
1070
+
1043
1071
  //板块|行业等成分列表
1044
1072
  HQData.Report_RequestMemberListDat=function(data, callback)
1045
1073
  {
@@ -1305,6 +1333,119 @@ HQData.Report_RequestStockSortData=function(data, callback)
1305
1333
  }
1306
1334
 
1307
1335
 
1336
+ HQData.Report_RequestVirtualStockData=function(data, callback)
1337
+ {
1338
+ var blockID=data.Request.Data.symbol; //板块代码
1339
+ var range=data.Request.Data.range; //排序范围
1340
+ var column=data.Request.Data.column; //排序列信息
1341
+ var sortType=data.Request.Data.sort; //排序方向
1342
+ var pageSize=data.Request.Data.pageSize;
1343
+ data.PreventDefault=true;
1344
+
1345
+ var start=range.start;
1346
+ var end=range.end;
1347
+ if (start>0) start-=pageSize;
1348
+ if (start<0) start=0;
1349
+ end+=pageSize;
1350
+
1351
+ var count=end-start+1;
1352
+
1353
+ var aryData=[];
1354
+ var aryIndex=[];
1355
+
1356
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
1357
+ {
1358
+ var randomStart = Math.floor(Math.random()*(SHSZ_STOCK_LIST_TEST_DATA.symbol.length-1));
1359
+ var symbolCount=SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
1360
+ for(var i=0;i<count;++i)
1361
+ {
1362
+ var dataIndex=(randomStart+i)%symbolCount;
1363
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[dataIndex];
1364
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[dataIndex];
1365
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[dataIndex];
1366
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[dataIndex];
1367
+ var newItem=
1368
+ [
1369
+ symbol,
1370
+ name,
1371
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[dataIndex],
1372
+ SHSZ_STOCK_LIST_TEST_DATA.open[dataIndex],
1373
+ SHSZ_STOCK_LIST_TEST_DATA.high[dataIndex],
1374
+ SHSZ_STOCK_LIST_TEST_DATA.low[dataIndex],
1375
+ price,
1376
+ vol,
1377
+ SHSZ_STOCK_LIST_TEST_DATA.amount[dataIndex],
1378
+ ];
1379
+
1380
+ //买价 量
1381
+ newItem[9]=price+0.05;
1382
+ newItem[10]=10;
1383
+
1384
+ //卖价 量
1385
+ newItem[11]=price-0.06;
1386
+ newItem[12]=5;
1387
+
1388
+ //均价
1389
+ newItem[13]=price-0.03;
1390
+
1391
+ //内盘
1392
+ newItem[18]=vol/4;
1393
+ //外盘
1394
+ newItem[19]=vol/5;
1395
+
1396
+ newItem[14]=vol*1.5; //流通股本
1397
+ newItem[15]=vol*1.8; //总股本
1398
+
1399
+ //换手率
1400
+ newItem[23]=(Math.round(Math.random()*60))/100;
1401
+
1402
+ //名字字段
1403
+ var symbolEx={ Text:name };
1404
+ if (i%20==5)
1405
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
1406
+ else if (i%20==9)
1407
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
1408
+ else if (i%20==18)
1409
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
1410
+
1411
+ newItem[27]=symbolEx;
1412
+
1413
+
1414
+ //扩展数据 (定制数据)
1415
+ var extendData=[];
1416
+ newItem[30]=extendData;
1417
+
1418
+ //行业
1419
+ extendData[0]="行业X";
1420
+ //地区
1421
+ extendData[1]="地区X";
1422
+
1423
+ //PE|PB
1424
+ extendData[2]=(Math.round(Math.random()*60))/100;
1425
+ extendData[3]=(Math.round(Math.random()*60))/100;
1426
+ extendData[4]=(Math.round(Math.random()*60))/100;
1427
+ extendData[5]=(Math.round(Math.random()*60))/100;
1428
+
1429
+
1430
+ //周涨幅
1431
+ extendData[6]=(Math.round(Math.random()*60))/100;
1432
+ extendData[7]=(Math.round(Math.random()*60))/100;
1433
+ extendData[8]=(Math.round(Math.random()*60))/100;
1434
+
1435
+
1436
+ aryData.push(newItem);
1437
+ aryIndex.push(start+i);
1438
+ }
1439
+ }
1440
+
1441
+ var hqchartData={ data:aryData, index:aryIndex, filedindex:-1, sort:sortType, symbol:blockID };
1442
+
1443
+ if (column) hqchartData.filedindex=column.index;
1444
+
1445
+ callback(hqchartData);
1446
+ }
1447
+
1448
+
1308
1449
 
1309
1450
  HQData.Keyboard_RequestSymbolList=function(data, callback)
1310
1451
  {
@@ -48553,8 +48553,36 @@ function RectSelectPaint()
48553
48553
  return null;
48554
48554
  }
48555
48555
 
48556
+ this.GetSelectRectDataByOnePoint=function()
48557
+ {
48558
+ if (!this.FirstPoint) return null;
48559
+
48560
+ var data=this.GetKData();
48561
+ if (!data) return null;
48562
+ var isMinuteChart=this.IsMinuteChart();
48563
+ var firstDate=this.DateToNumber(this.FirstPoint,isMinuteChart);
48564
+ var selectData={ Start:null, End:null, Data:data };
48565
+ for(var i=0;i<data.Data.length;++i)
48566
+ {
48567
+ var item=data.Data[i];
48568
+ if (!item) continue;
48569
+ var value=this.DateToNumber(item,isMinuteChart);
48570
+
48571
+ if (firstDate==value)
48572
+ {
48573
+ selectData.Start=i;
48574
+ selectData.End=i;
48575
+ return selectData;
48576
+ }
48577
+ }
48578
+
48579
+ return null;
48580
+ }
48581
+
48556
48582
  this.GetSelectRectData=function()
48557
48583
  {
48584
+ if (this.IsOnlyOnePoint) return this.GetSelectRectDataByOnePoint();
48585
+
48558
48586
  if (!this.FirstPoint || !this.SecondPoint) return null;
48559
48587
 
48560
48588
  var data=this.GetKData();
@@ -127661,6 +127689,12 @@ function JSReportChart(divElement)
127661
127689
  if (IFrameSplitOperator.IsNumber(item.Sort)) chart.SortInfo.Sort=item.Sort;
127662
127690
  }
127663
127691
 
127692
+ if (option.VirtualTable)
127693
+ {
127694
+ var item=option.VirtualTable;
127695
+ if (IFrameSplitOperator.IsBool(item.Enable)) chart.Data.Virtual.Enable=item.Enable;
127696
+ }
127697
+
127664
127698
  var reportChart=chart.GetReportChart();
127665
127699
  if (reportChart)
127666
127700
  {
@@ -127875,7 +127909,7 @@ function JSReportChartContainer(uielement)
127875
127909
  this.Symbol; //板块代码
127876
127910
  this.Name; //板块名称
127877
127911
  this.NetworkFilter; //数据回调接口
127878
- this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
127912
+ this.Data={ XOffset:0, YOffset:0, Data:[], Virtual:{ Enable:false, Count:0 } }; //股票列表 (Virtual 虚拟表)
127879
127913
  this.SourceData={ Data:[] } ; //原始股票顺序(排序还原用)
127880
127914
  this.BlockData=new Map(); //当前板块数据
127881
127915
  this.MapStockData=new Map(); //原始股票数据
@@ -128244,6 +128278,7 @@ function JSReportChartContainer(uielement)
128244
128278
  {
128245
128279
  this.SourceData.Data=[];
128246
128280
  this.Data.Data=[];
128281
+ this.Data.Virtual.Count=0;
128247
128282
  this.BlockData=new Map();
128248
128283
  }
128249
128284
 
@@ -128500,6 +128535,12 @@ function JSReportChartContainer(uielement)
128500
128535
  }
128501
128536
  }
128502
128537
 
128538
+ if (recvData.Virtual) //虚拟表设置
128539
+ {
128540
+ var item=recvData.Virtual;
128541
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
128542
+ }
128543
+
128503
128544
  this.Draw();
128504
128545
  this.UpdateStockData();
128505
128546
  }
@@ -128725,6 +128766,12 @@ function JSReportChartContainer(uielement)
128725
128766
  var chart=this.ChartPaint[0];
128726
128767
  if (!chart) return;
128727
128768
 
128769
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
128770
+ {
128771
+ this.RequestVirtualStockData(); //虚拟表格 全部取后台
128772
+ return;
128773
+ }
128774
+
128728
128775
  if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0)
128729
128776
  {
128730
128777
  var column=chart.Column[this.SortInfo.Field];
@@ -130080,8 +130127,9 @@ function JSReportChartContainer(uielement)
130080
130127
  if (!chart) return false;
130081
130128
 
130082
130129
  var pageSize=chart.GetPageSize();
130083
- if (pageSize>this.Data.Data.length) return false;
130084
- if (this.Data.YOffset+pageSize>=this.Data.Data.length)
130130
+ var dataCount=chart.GetAllRowCount();
130131
+ if (pageSize>dataCount) return false;
130132
+ if (this.Data.YOffset+pageSize>=dataCount)
130085
130133
  {
130086
130134
  if (bCycle===true)
130087
130135
  {
@@ -130095,7 +130143,7 @@ function JSReportChartContainer(uielement)
130095
130143
  }
130096
130144
 
130097
130145
  this.Data.YOffset+=pageSize;
130098
- var showDataCount=this.Data.Data.length-this.Data.YOffset;
130146
+ var showDataCount=dataCount-this.Data.YOffset;
130099
130147
 
130100
130148
  if (chart.SelectedModel==0)
130101
130149
  {
@@ -130111,13 +130159,14 @@ function JSReportChartContainer(uielement)
130111
130159
  var chart=this.ChartPaint[0];
130112
130160
  if (!chart) return false;
130113
130161
  var pageSize=chart.GetPageSize();
130114
- if (pageSize>this.Data.Data.length) return false;
130162
+ var dataCount=chart.GetAllRowCount();
130163
+ if (pageSize>dataCount) return false;
130115
130164
 
130116
130165
  if (this.Data.YOffset<=0)
130117
130166
  {
130118
130167
  if (bCycle===true)
130119
130168
  {
130120
- this.Data.YOffset=this.Data.Data.length-pageSize; //循环到最后一页
130169
+ this.Data.YOffset=dataCount-pageSize; //循环到最后一页
130121
130170
  return true;
130122
130171
  }
130123
130172
  else
@@ -130555,7 +130604,16 @@ function JSReportChartContainer(uielement)
130555
130604
  if (column.Sort!=1 && column.Sort!=2) return false;
130556
130605
 
130557
130606
  var sortInfo={ Field:index, Sort:sortType };
130558
- if (sortInfo.Sort==0) //不排序还原
130607
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
130608
+ {
130609
+ this.SortInfo.Field=sortInfo.Field;
130610
+ this.SortInfo.Sort=sortInfo.Sort;
130611
+ this.Data.YOffset=0;
130612
+ this.ResetReportSelectStatus();
130613
+ this.RequestVirtualStockData(); //虚拟表格
130614
+ return true;
130615
+ }
130616
+ else if (sortInfo.Sort==0) //不排序还原
130559
130617
  {
130560
130618
  this.Data.Data=[];
130561
130619
  if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
@@ -131273,6 +131331,12 @@ function JSReportChartContainer(uielement)
131273
131331
  }
131274
131332
  }
131275
131333
 
131334
+ if (data.Virtual)
131335
+ {
131336
+ var item=data.Virtual;
131337
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
131338
+ }
131339
+
131276
131340
  var chart=this.ChartPaint[0];
131277
131341
  if (!chart) return;
131278
131342
 
@@ -131281,6 +131345,70 @@ function JSReportChartContainer(uielement)
131281
131345
  if (bUpdate) this.Draw();
131282
131346
  }
131283
131347
 
131348
+ //虚拟表格 请求序号 所有数据后台返回
131349
+ this.RequestVirtualStockData=function()
131350
+ {
131351
+ var chart=this.ChartPaint[0];
131352
+ if (!chart) return;
131353
+
131354
+ var self=this;
131355
+ var startIndex=this.Data.YOffset;
131356
+ var pageSize=chart.GetPageSize();
131357
+ var endIndex=startIndex+pageSize;
131358
+ var dataCount=chart.GetAllRowCount();
131359
+ if (endIndex>=dataCount) endIndex=dataCount-1;
131360
+
131361
+ if (!this.NetworkFilter) return;
131362
+
131363
+ var requestData=
131364
+ {
131365
+ range:{ start:startIndex, end:endIndex, count:chart.GetAllRowCount() },
131366
+ column:null,
131367
+ sort:0, symbol:this.Symbol, name:this.Name,
131368
+ pageSize:pageSize
131369
+ }
131370
+
131371
+ if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0) //排序
131372
+ {
131373
+ var column=chart.Column[this.SortInfo.Field];
131374
+ requestData.column={ name: column.Title, type: column.Type, index:this.SortInfo.Field, ID:column.ID };
131375
+ requestData.sort=this.SortInfo.Sort;
131376
+ }
131377
+
131378
+ var obj=
131379
+ {
131380
+ Name:'JSDealChartContainer::RequestVirtualStockData', //类名::函数名
131381
+ Explain:'报价列表股票数据(虚拟表格)',
131382
+ Request:
131383
+ {
131384
+ Data: requestData
131385
+ },
131386
+ Self:this,
131387
+ PreventDefault:false
131388
+ };
131389
+
131390
+ if (chart.FixedRowCount>0 && chart.FixedRowData.Type==1)
131391
+ {
131392
+ var arySymbol=[];
131393
+ for(var i=0;i<chart.FixedRowData.Symbol.length;++i)
131394
+ {
131395
+ var item=chart.FixedRowData.Symbol[i];
131396
+ if (item) arySymbol.push(item);
131397
+ }
131398
+
131399
+ obj.Request.FixedSymbol=arySymbol;
131400
+ }
131401
+
131402
+ this.NetworkFilter(obj, function(data)
131403
+ {
131404
+ self.RecvStockSortData(data);
131405
+ self.AutoUpdate();
131406
+ });
131407
+
131408
+ if (obj.PreventDefault==true) return;
131409
+
131410
+ }
131411
+
131284
131412
  //底部标签
131285
131413
  this.ShowPageInfo=function(bShow)
131286
131414
  {
@@ -131960,8 +132088,9 @@ function ChartReport()
131960
132088
  this.GetYScrollRange=function()
131961
132089
  {
131962
132090
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
132091
+ var dataCount=this.GetAllRowCount();
131963
132092
 
131964
- var maxOffset=this.Data.Data.length-this.RowCount;
132093
+ var maxOffset=dataCount-this.RowCount;
131965
132094
 
131966
132095
  return maxOffset;
131967
132096
  }
@@ -132537,6 +132666,14 @@ function ChartReport()
132537
132666
  this.Canvas.stroke();
132538
132667
  }
132539
132668
 
132669
+ //获取一共多少行
132670
+ this.GetAllRowCount=function()
132671
+ {
132672
+ var count=this.Data.Data.length;
132673
+ if (this.Data.Virtual && this.Data.Virtual.Enable) count=this.Data.Virtual.Count;
132674
+ return count;
132675
+ }
132676
+
132540
132677
  this.DrawBody=function()
132541
132678
  {
132542
132679
  if (!this.Data) return;
@@ -132576,7 +132713,8 @@ function ChartReport()
132576
132713
  var setSelected;
132577
132714
  if (this.MultiSelectModel==1) setSelected=new Set(this.MultiSelectedRow);
132578
132715
 
132579
- for(var i=this.Data.YOffset, j=0; i<this.Data.Data.length && j<this.RowCount ;++i, ++j)
132716
+ var dataCount=this.GetAllRowCount();
132717
+ for(var i=this.Data.YOffset, j=0; i<dataCount && j<this.RowCount ;++i, ++j)
132580
132718
  {
132581
132719
  var symbol=this.Data.Data[i];
132582
132720
 
@@ -139177,7 +139315,7 @@ function ScrollBarBGChart()
139177
139315
 
139178
139316
 
139179
139317
 
139180
- var HQCHART_VERSION="1.1.13962";
139318
+ var HQCHART_VERSION="1.1.13968";
139181
139319
 
139182
139320
  function PrintHQChartVersion()
139183
139321
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13962";
8
+ var HQCHART_VERSION="1.1.13968";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {