проблема состоит в том, что оператор Distinct не допускает, что поддержит первоначальный порядок значений.
, Таким образом, Ваш запрос должен будет работать как это
var names = (from DataRow dr in dataTable.Rows
select (string)dr["Name"]).Distinct().OrderBy( name => name );
Я попробовал, но не смог. Я начал с этого примера , затем добавил:
grid: { clickable: true },
прямо над строкой "pie: {". Затем я добавил в конце функцию plotclick:
$("#placeholder").bind("plotclick", function (event, pos, item) {
alert('click!');
for(var i in item){
alert('my '+i+' = '+ item[i]);
}
});
Вы увидите "щелчок!" сообщение, но «элемент» не имеет свойств.
Я думал, что вы просто добавите URL-адреса к объектам данных, а затем перенаправите браузер на соответствующий URL-адрес из функции plotclick. Если вы в этом разобрались, мне было бы интересно узнать!
Обновление: Вот кое-что, что может сработать - оно просто превращает ярлыки в ссылки. Поместите URL-адреса в свои данные следующим образом:
$.plot($("#placeholder"), [
{ label: "Serie1", data: 10, url: "http://stackoverflow.com"},
{ label: "Serie2", data: 30, url: "http://serverfault.com"},
{ label: "Serie3", data: 90, url: "http://superuser.com"},
{ label: "Serie4", data: 70, url: "http://www.google.com"},
{ label: "Serie5", data: 80, url: "http://www.oprah.com"},
{ label: "Serie6", data: 110, url: "http://www.realultimatepower.net/"}
],
Затем установите для labelFormatter что-то вроде:
return '<a href="'+serie.url+'">'+serie.label+'</a><br/>'+Math.round(serie.percent)+'%';
Однако щелчок в самих секторах по-прежнему ничего особенного не делает.