Nevron .NET Vision Documentation
Postback Tool

The postback tool allows you to initiate a page postback. Page postback renders the whole page contents and can be useful if you want to update the contents of several controls on the forms. The drawback is that it results in more traffic between the client and the server.

The following code snippets show how to send a postback when the user clicks on a chart or diagram element:

C#
Copy Code

protected void Page_Load(object sender, EventArgs e)
{

if (!NThinChartControl1.Initialized){

// get the default chart
NChart chart = NThinChartControl1.Charts[0];

// add bar serires to the chart
NBarSeries bar = new NBarSeries();

chart.Series.Add(bar);

// add one bar
bar.Values.Add(10);

bar.FillStyle = new NColorFillStyle(Color.Blue);
bar.InteractivityStyle =
new NInteractivityStyle("Click on me to make me red");

NPostbackTool postbackTool = new NPostbackTool();
postbackTool.PostbackOnlyOnInteractiveItems =
true;

NThinChartControl1.Controller.Tools.Add(postbackTool);
NThinChartControl1.Controller.Tools.Add(
new NTooltipTool());

}

NThinChartControl1.Postback += new Nevron.ThinWeb.NPostbackEventHandler(NThinChartControl1_Postback);

}

void NThinChartControl1_Postback(object sender, Nevron.ThinWeb.NPostbackEventArgs e)

{

NThinChartControl chartControl = (NThinChartControl)sender;

// hit test

NHitTestResult hitTestResult = chartControl.HitTest(e.MousePosition.X, e.MousePosition.Y);

NBarSeries bar = (NBarSeries)chartControl.Charts[0].Series[0];

if (hitTestResult.ChartElement == ChartElement.DataPoint)

{

bar.FillStyle = new NColorFillStyle(Color.Red);

}

}

Nevron Diagram ThinWeb

C#
Copy Code

protected void Page_Load(object sender, EventArgs e)

{

if (!NThinDiagramControl1.Initialized)
{

// init the document
NDrawingDocument document = NThinDiagramControl1.Document;

document.BeginInit();
document.BackgroundStyle.FrameStyle.Visible =
false;
document.AutoBoundsPadding =
new Nevron.Diagram.NMargins(10f, 10f, 10f, 10f);
document.Style.FillStyle =
new NColorFillStyle(Color.White);

NBasicShapesFactory factory = new NBasicShapesFactory(document);
NShape circle = factory.CreateShape(BasicShapes.Circle);
circle.Bounds =
new NRectangleF(0f, 0f, 200f, 200f);

// apply interactivity
circle.Style.InteractivityStyle = new NInteractivityStyle("Click on me to make me red");
document.ActiveLayer.AddChild(circle);
NThinDiagramControl1.SizeToContent();

// configure the controller
NPostbackTool postbackTool = new NPostbackTool();
postbackTool.PostbackOnlyOnInteractiveItems =
true;
NThinDiagramControl1.Controller.Tools.Add(postbackTool);
NThinDiagramControl1.Controller.Tools.Add(
new NTooltipTool());
}

NThinDiagramControl1.Postback += new Nevron.ThinWeb.NPostbackEventHandler(NThinDiagramControl1_Postback);

}

void NThinDiagramControl1_Postback(object sender, Nevron.ThinWeb.NPostbackEventArgs e)
{

NThinDiagramControl diagramControl = (NThinDiagramControl)sender;
NNodeList affectedNodes = diagramControl.HitTest(new NPointF(e.MousePosition.X, e.MousePosition.Y));
NNodeList affectedShapes = affectedNodes.Filter(Nevron.Diagram.Filters.NFilters.Shape2D);

int length = affectedShapes.Count;

for (int i = 0; i < length; i++)
{

NShape shape = affectedShapes[i] as NShape;

if (shape != null)
{
shape.Style.FillStyle =
new NColorFillStyle(Color.Red);
}
}
}

Related Examples

Chart\Web Forms\ThinWeb\Postback Tool
Diagram\Web Forms\ThinWeb\Postback Tools

 

 


©2017. Nevron Software LLC.

Send Feedback