Я пытаюсь применить диаграмму прямоугольника с высокой диаграммой к каждой строке сетки, в зависимости от значений из SqlDataReader.Я извлекаю данные из SQL с помощью синтаксического анализа в measureID (это уникальный идентификатор и начинается не с 1). Я получаю данные диаграммы в формате 20,32,35,38,45 и преобразую их в JSON для анализакак данные в старшей диаграмме.Я пытаюсь проанализировать данные для каждой строки в зависимости от measureID
текущая ошибка, которую я получаю: Дополнительная информация: указанное приведение недопустимо для следующей строки: var CurrentID = (int) DataBinder.Eval(oItem, "MeasureID");
Я пытаюсь создать div с уникальным идентификатором, чтобы он мог поместить данные в каждую строку, но, похоже, он не работает
ASPX
<asp:TemplateField HeaderText="header" >
<ItemTemplate >
<%#getDivContainer(Container.DataItem)%>
</ItemTemplate>
JS:
function CreateBoxPlot() {
var hv = $('#hiddenvariable').val();
console.log(hv);
var hvmeasure = $('#hiddenvariablemeasuredesc').val();
console.log(hvmeasure);
var chart;
var titleText = hvmeasure;
var subTitleText = 'Test Chart Subtitle';
var type = 'boxplot';
$(function () {
$('.graph').highcharts({
chart: { type: type, inverted: true},
title: { text: hvmeasure },
subtitle: { text: subTitleText },
renderTo: $container[0],
legend: { enabled: false },
tooltip: {
shared: true,
crosshairs: true
},
plotOptions: {
series: {
pointWidth: 50
}
},
xAxis: {
visible: false
},
yAxis: {
visible: true,
title: {
text: 'Values'
},
plotLines: [{
value: 80,
color: 'red',
width: 2
}]
}
});
// here you add the correct data to each line
$( ".graph" ).each(function( index, element ) {
chart = $(element).highcharts();
// now read the id, and load the appropriate data
MyDataID = $(element).data( "id" );
var hv = $('#hiddenvariable' + MyDataID).val();
var data = [JSON.parse(hv).map(item => parseInt(item))];
//chart = $('#container').highcharts();
chart.addSeries({ data: data });
});
}
C # Методы
protected string getDivContainer(object oItem)
{
// read the id from your data set
var CurrentID = (int) DataBinder.Eval(oItem, "MeasureID");
return string.Format("<div id=\"container_{0}\" class=\"graph\" data-id=\"{0}\"></div>", CurrentID);
}
public void SerializedBoxChart(int measureid)
{
....
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
SqlDataReader reader = cmd.ExecuteReader();
var chartValues = new List<string>();
var chartValues2 = new List<string>();
if (reader.HasRows)
{
while (reader.Read())
{
string name = reader.GetString(0);
if (name != "Total")
{
string str = reader["ChartData"].ToString();
string a = reader["MeasureDesc"].ToString();
string[] strList = str.Split(',');
// convert it in json
dataStr = JsonConvert.SerializeObject(strList, Formatting.None);
hiddenvariable.Value = dataStr;
hiddenvariablemeasuredesc.Value = a;
chartValues.Clear();
}
}
}
}