用MVP实现图表

时间:2014-05-29 13:27:40

标签: c# mvp mschart

我是使用MVP构建项目的新手,但是我想要应用它的当前项目。

我有一个后端解析日志文件以生成DataTable数据。然后将其返回到表单以便在DataGridView中显示。然后,表单控制另一个后端将数据绘制为图表,并返回显示。

我的问题是:创建图表时,应该在视图/演示者中完成什么?

即。演示者是否应该创建图表并将其作为Chart对象发送到视图以添加到面板并显示?或者主持人应该告诉视图"创建新图表","添加数据点","重命名x轴"等...这将导致巨大的界面涵盖所需的一切......

在这种情况下是否有任何使用MVP的例子,而不仅仅是一个列表和一个按钮"示例

1 个答案:

答案 0 :(得分:0)

我希望这会有所帮助:

   public class YourModel 
   { 
      public Chart GenerateChart()
      {
         Chart chart = new Chart();
        //place code to set up the chat, i.e. Axis, BackColors...etc
      }
   }

   public class YourPresenter
   {
     IView _view;
     public YourPresenter(IView view)
     {
         _view = view;
     }

     public void GetChart()
     {
        YourModel model = new YourModel();
        _view.ChartControl = model.GenerateChart();
     }
   }

   public partial class _Default : System.Web.UI.Page,IView 
   {
     protected void Page_Load(object sender, EventArgs e)
     {
     }
     protected void ButtonResult_Click(object sender, EventArgs e)
     {
        YourPresenter presenter = new YourPresenter(this);
        presenter.GetChart();
     }

     public Chart ChartControl
     {
        get{return "a placeHolder where your chart is displayed";}
        set{"a placceHolder where your chart will be displayed" = value;}
     }
   }
   public interface IView
   {
     Chart ChartControl { get; set;}
   }