原創|其它|編輯:郝浩|2011-05-12 11:15:56.000|閱讀 911 次
概述:Dundas Dashboard是一個靈活的,提供商業儀表盤的快速開發的功能齊全即可使用的解決方案。它的主要功能包含拖放儀表板設計,多種數據可視化選項,儀表板通信,網絡應用程序集成等等。Dundas Dashboard的另一個特點是它的充分腳本功能,此功能提供了所有控制儀表盤元素上額外的控件。本文將講述DundasScript的其中一個腳本功能。該腳本允許你使用數據庫加載數據來設置儀表范圍的開始值和結束值。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Dundas Dashboard是一個靈活的,提供商業儀表盤的快速開發的功能齊全即可使用的解決方案。它的主要功能包含拖放儀表板設計,多種數據可視化選項,儀表板通信,網絡應用程序集成等等。Dundas Dashboard的另一個特點是它的充分腳本功能,此功能提供了所有控制儀表盤元素上額外的控件。本文將講述DundasScript的其中一個腳本功能。該腳本允許你使用數據庫加載數據來設置儀表范圍的開始值和結束值。
數據集
在項目中創建一個數據集,該數據集中必須包含儀表范圍中你會使用到的值。在儀表盤上創建一個數據網格,并撤消網格中的數據集。
移動數據網格直到dashboard畫布以外,這時,數據網格就看不見了。
The data grid containing the values to use for the ranges.
KPI狀態
在KPI中,創建一個你所需要使用的狀態的狀態組。值并不重要,因為實際值將會在使用腳本的時候被改變。
Measure states in the KPI.
儀表中的狀態范圍
在儀表盤上使用KPI后,狀態情況將出現在左邊的范圍欄中。此時,你可以修改范圍,直到達到你想要的效果。
State ranges in a gauge.
腳本
將下面的腳本放置到dashboard的On Load Interactions列表中即可。
#UNSUPPORTED UNLIMITED
// Index to our columns
int badStartIndex = 0;
int badEndIndex = 0;
int goodStartIndex = 0;
int goodEndIndex = 0;
int okStartIndex = 0;
int okEndIndex = 0;
// Loop through our columns and find the index of our various columns
int index = 0;
foreach (object column in DataGrid1.Columns)
{
string columnName = column.ToString();
if (columnName == "BadStart") { badStartIndex = index; }
if (columnName == "BadEnd") { badEndIndex = index; }
if (columnName == "GoodStart") { goodStartIndex = index; }
if (columnName == "GoodEnd") { goodEndIndex = index; }
if (columnName == "OKStart") { okStartIndex = index; }
if (columnName == "OKEnd") { okEndIndex = index; }
index++;
}
// Grab the first row datapoint in our grid since
object dp = DataGrid1.DataDescriptors[0].DataResult.DataPoints[0];
// Get the value in our columns
double badStartValue = double.Parse(dp.FieldValues[badStartIndex].ToString()); ;
double badEndValue = double.Parse(dp.FieldValues[badEndIndex].ToString()); ;
double goodStartValue = double.Parse(dp.FieldValues[goodStartIndex].ToString()); ;
double goodEndValue = double.Parse(dp.FieldValues[goodEndIndex].ToString()); ;
double okStartValue = double.Parse(dp.FieldValues[okStartIndex].ToString()); ;
double okEndValue = double.Parse(dp.FieldValues[okEndIndex].ToString()); ;
// Go through all the ranges and set their value
foreach (DashboardRadialRange range in DynamicGauge.Scales[0].Ranges)
{
if (range.StateName == "Bad") { range.StartValue = badStartValue; range.EndValue = badEndValue; }
if (range.StateName == "OK") { range.StartValue = okStartValue; range.EndValue = okEndValue; }
if (range.StateName == "Good") { range.StartValue = goodStartValue; range.EndValue = goodEndValue; }
}
示例輸出
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網