Я также сталкивался с этой проблемой. как на настольном, так и на мобильном видении графика.
В моем случае у меня есть диаграмма, которая обновляет цвет серии в зависимости от минимума или максимума . После обновления точек ширина старших графиков превышает div контейнера при первой загрузке.
Чтобы исправить это, я добавил chart.reflow (); после обновления точек.
КОД:
//First declare the chart
var chart = $('#TopPlayer').highcharts();
//Set the min and max
var min = chart.series[0].dataMin; //Top Losser
var max = chart.series[0].dataMax; //Top Winner
for (var i = 0; i < chart.series[0].points.length; i++) {
if (chart.series[0].points[i].y === max) {
chart.series[0].points[i].update({
color: 'GREEN',
});
}
if (chart.series[0].points[i].y === min) {
chart.series[0].points[i].update({
color: 'RED',
});
}
}
// redraw the chart after updating the points
chart.reflow();
Надеюсь, это поможет тем, у кого такая же проблема, как у меня. :)
Вы можете задать область транзакции:
using (var transaction = new TransactionScope())
{
// do stuff here...
transaction.Complete();
}
Если возникает исключение или блок using остается без обращения к транзакции.Complete (), тогда все, что выполняется в блоке using, откатывается.
Вам нужно будет сослаться на сборку System.Transactions.
Как упоминалось выше в «Парусном дзюдо», я с большим успехом использовал блоки TransactionScope, когда я нужно вызвать хранимые процедуры. Однако есть одна "ловушка", с которой я столкнулся, когда возникает исключение, говорящее, что "транзакция сомнительна". Чтобы обойти это, мне пришлось вызвать неотложный метод в процессе, чтобы он немедленно оценил результат. Поэтому вместо
using (var transaction = new TransactionScope())
{
var db = new dbDataContext();
db.StoredProc();
transaction.Complete();
}
мне пришлось назвать это так ...
using (var transaction = new TransactionScope())
{
var db = new dbDataContext();
db.StoredProc().ToList();
transaction.Complete();
}
В этом примере ToList () может быть любым неотложным методом, который заставляет LINQ немедленно оценивать результат.
Я предполагаю, что это потому, что LINQ ленивый (отложенный) характер не очень хорошо влияет на время транзакции, но это только предположение.