Esempio n. 1
0
        public List <StackPanel> GetPages()
        {
            List <StackPanel> panel = Enumerable.Range(0, 7).Select(x => new StackPanel()).ToList();

            Document doc = DocumentManager.CurrentDocument;

            //panel[0].Children.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold });
            YearwiseTable tableC6 = new YearwiseTable {
                SectionNumber = "1.6", Title = "当地政府收入 Local Government Revenues"
            };

            tableC6.Rows.Add("C6A", doc.City.C6A);
            tableC6.Rows.Add("C6B", doc.City.C6B);
            tableC6.Rows.Add("C6C", doc.City.C6C);
            tableC6.Rows.Add("C6D", doc.City.C6D);
            tableC6.Rows.Add("C6E", doc.City.C6E);
            tableC6.Rows.Add("C6F", doc.City.C6F);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true)));
            tableC6.Render();
            panel[0].Children.Add(tableC6);

            YearwiseTable tableC7 = new YearwiseTable {
                SectionNumber = "1.7", Title = "当地政府支出 Local Government Expenditures"
            };

            tableC7.Rows.Add("C7A", doc.City.C7A);
            tableC7.Rows.Add("C7B", doc.City.C7B);
            tableC7.Rows.Add("C7C", doc.City.C7C);
            tableC7.Rows.Add("C7D", doc.City.C7D);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true)));
            tableC7.Render();
            panel[0].Children.Add(tableC7);

            YearwiseTable tableC8 = new YearwiseTable {
                SectionNumber = "1.8", Title = "总投资能力 Summary Investment Capacity"
            };

            tableC8.Rows.Add("C8A", doc.City.C8A);
            tableC8.Rows.Add("C8B", doc.City.C8B);
            tableC8.Rows.Add("C8C", doc.City.C8C);
            tableC8.Rows.Add("C8D", doc.City.C8D);
            tableC8.Rows.Add("C8E", doc.City.C8E);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true)));
            tableC8.Render();
            panel[1].Children.Add(tableC8);

            //panel[2].Children.Add(new TextBlock { Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold });
            YearwiseTable tableC9 = new YearwiseTable {
                SectionNumber = "1.9", Title = "宏观经济数据假设 Assumptions Macro-Economic Data"
            };

            tableC9.Rows.Add("C9A", doc.City.C9A);
            tableC9.Rows.Add("C9B", doc.City.C9B);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true)));
            tableC9.SetPercentageRows("C9A", "C9B");
            tableC9.Render();
            tableC9.UserInput += (sender, e) => UpdateData();
            panel[2].Children.Add(tableC9);

            PropertyTable tableC10 = new PropertyTable {
                SectionNumber = "1.10", Title = "商业贷款条件假设 Assumptions Loan Conditions Commercial Lending", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC10.SetPercentageRows("C10A");
            tableC10.Render();
            tableC10.UserInput += (sender, e) => UpdateData();
            panel[2].Children.Add(tableC10);

            PropertyTable tableC11 = new PropertyTable {
                SectionNumber = "1.11", Title = "优惠贷款条件假设 Assumptions Loan Conditions Preferential Lending", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC11.SetPercentageRows("C11A");
            tableC11.Render();
            tableC11.UserInput += (sender, e) => UpdateData();
            panel[2].Children.Add(tableC11);

            PropertyTable tableC12 = new PropertyTable {
                SectionNumber = "1.12", Title = "当地税收征管假设 Local Tax Collection", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.SetPercentageRows("C12A", "C12C");
            tableC12.Render();
            tableC12.UserInput += (sender, e) => UpdateData();
            panel[3].Children.Add(tableC12);

            PropertyTable tableC13 = new PropertyTable {
                SectionNumber = "1.13", Title = "汇率假设(兑美元) Assumptions Exchange Rate (to USD)", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC13.Render();
            tableC13.UserInput += (sender, e) => UpdateData();
            panel[3].Children.Add(tableC13);

            PropertyTable tableC14 = new PropertyTable {
                SectionNumber = "1.14", Title = "投资预算和债务清偿假设 Assumptions Investment Budget & Debt Service", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC14.SetPercentageRows("C14A", "C14B");
            tableC14.Render();
            tableC14.UserInput += (sender, e) => UpdateData();
            panel[3].Children.Add(tableC14);

            PropertyTable tableC15 = new PropertyTable {
                SectionNumber = "1.15", Title = "收入预测假设 Assumptions Revenue Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.SetPercentageTable();
            tableC15.Render();
            tableC15.UserInput += (sender, e) => UpdateData();
            panel[4].Children.Add(tableC15);

            PropertyTable tableC16 = new PropertyTable {
                SectionNumber = "1.16", Title = "支出预测假设 Assumptions Expenditure Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush
            };

            tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.SetPercentageTable();
            tableC16.Render();
            tableC16.UserInput += (sender, e) => UpdateData();
            panel[4].Children.Add(tableC16);

            //---------------------------------图表--------------------------------------------------
            panel[5].Children.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES",
                                                       ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen),
                                                       ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red)));

            panel[6].Children.Add(new TextBlock {
                Text = "CITY BASIC / 城市基本数据", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold
            });
            Button btnFinancial = new Button {
                Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left
            };

            btnFinancial.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml");
            panel[6].Children.Add(btnFinancial);
            //Button btnProj = new Button { Content = "点击以转到项目评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left };
            //btnProj.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml");
            //panel[6].Children.Add(btnProj);

            _tables = new List <IUpdateTable> {
                tableC6, tableC7, tableC8
            };

            return(panel);
        }
Esempio n. 2
0
        private List <UIElement> GetLayout()
        {
            List <UIElement> panel = new List <UIElement>();

            Document doc = DocumentManager.CurrentDocument;

            panel.Add(new TextBlock {
                Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0)
            });

            YearwiseTable tableC6 = new YearwiseTable {
                SectionNumber = "1.6", Title = "当地政府债务"
            };

            tableC6.Rows.Add("C6A", doc.City.C6A);
            tableC6.Rows.Add("C6B", doc.City.C6B);
            tableC6.Rows.Add("C6C", doc.City.C6C);
            tableC6.Rows.Add("C6D", doc.City.C6D);
            tableC6.Rows.Add("C6E", doc.City.C6E);
            tableC6.Rows.Add("C6F", doc.City.C6F);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true)));
            tableC6.Render();
            panel.Add(tableC6);

            YearwiseTable tableC7 = new YearwiseTable {
                SectionNumber = "1.7", Title = "当地政府支出"
            };

            tableC7.Rows.Add("C7A", doc.City.C7A);
            tableC7.Rows.Add("C7B", doc.City.C7B);
            tableC7.Rows.Add("C7C", doc.City.C7C);
            tableC7.Rows.Add("C7D", doc.City.C7D);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true)));
            tableC7.Render();
            panel.Add(tableC7);

            YearwiseTable tableC8 = new YearwiseTable {
                SectionNumber = "1.8", Title = "总投资能力"
            };

            tableC8.Rows.Add("C8A", doc.City.C8A);
            tableC8.Rows.Add("C8B", doc.City.C8B);
            tableC8.Rows.Add("C8C", doc.City.C8C);
            tableC8.Rows.Add("C8D", doc.City.C8D);
            tableC8.Rows.Add("C8E", doc.City.C8E);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true)));
            tableC8.Render();
            panel.Add(tableC8);

            panel.Add(new TextBlock {
                Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0)
            });

            YearwiseTable tableC9 = new YearwiseTable {
                SectionNumber = "1.9", Title = "宏观经济数据假设"
            };

            tableC9.Rows.Add("C9A", doc.City.C9A);
            tableC9.Rows.Add("C9B", doc.City.C9B);
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true)));
            tableC9.SetPercentageRows("C9A", "C9B");
            tableC9.Render();
            tableC9.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC9);

            PropertyTable tableC10 = new PropertyTable {
                SectionNumber = "1.10", Title = "商业贷款条件假设", Brush_TitleCell = Brushes.DarkRed, Margin = new Thickness(0, 0, 0, 0)
            };

            tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC10.SetPercentageRows("C10A");
            tableC10.Render();
            tableC10.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC10);

            PropertyTable tableC11 = new PropertyTable {
                SectionNumber = "1.11", Title = "优惠贷款条件假设", Brush_TitleCell = Brushes.DarkRed
            };

            tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC11.SetPercentageRows("C11A");
            tableC11.Render();
            tableC11.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC11);

            PropertyTable tableC12 = new PropertyTable {
                SectionNumber = "1.12", Title = "当地税收征管假设", Brush_TitleCell = Brushes.DarkRed
            };

            tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0));
            tableC12.SetPercentageRows("C12A", "C12C");
            tableC12.Render();
            tableC12.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC12);

            PropertyTable tableC13 = new PropertyTable {
                SectionNumber = "1.13", Title = "汇率假设(兑美元)", Brush_TitleCell = Brushes.DarkRed
            };

            tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC13.Render();
            tableC13.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC13);

            PropertyTable tableC14 = new PropertyTable {
                SectionNumber = "1.14", Title = "投资预算和债务清偿假设", Brush_TitleCell = Brushes.DarkRed
            };

            tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0));
            tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0));
            tableC14.SetPercentageRows("C14A", "C14B");
            tableC14.Render();
            tableC14.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC14);

            PropertyTable tableC15 = new PropertyTable {
                SectionNumber = "1.15", Title = "收入预测假设", Brush_TitleCell = Brushes.DarkRed
            };

            tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC15.SetPercentageTable();
            tableC15.Render();
            tableC15.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC15);

            PropertyTable tableC16 = new PropertyTable {
                SectionNumber = "1.16", Title = "支出预测假设", Brush_TitleCell = Brushes.DarkRed
            };

            tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0));
            tableC16.SetPercentageTable();
            tableC16.Render();
            tableC16.UserInput += (sender, e) => UpdateData();
            panel.Add(tableC16);

            //---------------------------------图表--------------------------------------------------
            panel.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES",
                                           ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen),
                                           ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red)));

            panel.Add(new TextBlock {
                Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0)
            });

            Button btnFinancial = new Button {
                Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left
            };

            btnFinancial.Click += (sender, e) => NavigationManager.Navigate("CityPage.xaml");
            panel.Add(btnFinancial);

            _tables = new List <IUpdateTable> {
                tableC6, tableC7, tableC8
            };

            return(panel);
        }
Esempio n. 3
0
        public List <StackPanel> GetPages()
        {
            List <StackPanel> pages = Enumerable.Range(0, 6).Select(x => new StackPanel()).ToList();

            Document doc = DocumentManager.CurrentDocument;

            //pages[0].Children.Add(new TextBlock { Text = "LOCAL GOVERNMENT KEY DATA", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold });
            PropertyTable tableC0 = new PropertyTable {
                SectionNumber = "1.0", Title = "当地政府关键数据 LOCAL GOVERNMENT KEY DATA"
            };

            tableC0.Rows.Add("C01", Tuple.Create <object, object>(doc.City, doc.City.C01));
            tableC0.Rows.Add("C02", Tuple.Create <object, object>(doc.City, DateTime.Now.Year));
            tableC0.Rows.Add("C03", Tuple.Create <object, object>(doc.City, 0));
            tableC0.Rows.Add("C04", Tuple.Create <object, object>(doc.City, 0.0));
            tableC0.Rows.Add("C05", Tuple.Create <object, object>(doc.City, DateTime.Now.Date));
            tableC0.LockRows("C02");
            tableC0.SetPercentageRows("C04");
            tableC0.Render();
            tableC0.UserInput += (sender, e) => UpdateData();
            pages[0].Children.Add(tableC0);
            IntroPage IntroP = new IntroPage {
                ControlBack = FindResource("green_banner") as LinearGradientBrush, SectionCaptionBack = Brushes.DarkOliveGreen, HorizontalAlignment = System.Windows.HorizontalAlignment.Left
            };

            pages[0].Children.Add(IntroP);

            //pages[1].Children.Add(new TextBlock { Text = "LOCAL GOVERNMENT FISCAL ASSESSMENT", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold });
            YearwiseTable tableC1 = new YearwiseTable {
                SectionNumber = "1.1", Title = "当地政府收入 Local Government Revenues"
            };

            tableC1.Rows.Add("C1A", doc.City.C1A);
            tableC1.Rows.Add("C1B", doc.City.C1B);
            tableC1.Rows.Add("C1C", doc.City.C1C);
            tableC1.Rows.Add("C1D", doc.City.C1D);
            tableC1.Rows.Add("C1E", doc.City.C1E);
            tableC1.Rows.Add("C1F", doc.City.C1F);
            tableC1.Rows.Add("C1G", doc.City.C1G);
            tableC1.Rows.Add("C1H", doc.City.C1H);
            tableC1.Rows.Add("C1I", doc.City.C1I);
            tableC1.LockRows("C1F", "C1G", "C1H", "C1I");
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC1.Years.Add(new YearDefinition(x, true, false)));
            tableC1.Years.Add(YearDefinition.Average);
            tableC1.SetPercentageRows("C1G", "C1H", "C1I");
            tableC1.Render();
            tableC1.UserInput += (sender, e) => UpdateData();
            pages[1].Children.Add(tableC1);

            YearwiseTable tableC2 = new YearwiseTable {
                SectionNumber = "1.2", Title = "当地政府支出 Local Government Expenditures"
            };

            tableC2.Rows.Add("C2A", doc.City.C2A);
            tableC2.Rows.Add("C2B", doc.City.C2B);
            tableC2.Rows.Add("C2C", doc.City.C2C);
            tableC2.Rows.Add("C2D", doc.City.C2D);
            tableC2.Rows.Add("C2E", doc.City.C2E);
            tableC2.Rows.Add("C2F", doc.City.C2F);
            tableC2.LockRows("C2C", "C2D", "C2E", "C2F");
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC2.Years.Add(new YearDefinition(x, true, false)));
            tableC2.Years.Add(YearDefinition.Average);
            tableC2.SetPercentageRows("C2E", "C2F");
            tableC2.Render();
            tableC2.UserInput += (sender, e) => UpdateData();
            pages[2].Children.Add(tableC2);

            YearwiseTable tableC3 = new YearwiseTable {
                SectionNumber = "1.3", Title = "当地政府资产 Local Government Assets"
            };

            tableC3.Rows.Add("C3A", doc.City.C3A);
            tableC3.Rows.Add("C3B", doc.City.C3B);
            tableC3.Rows.Add("C3C", doc.City.C3C);
            tableC3.Rows.Add("C3D", doc.City.C3D);
            tableC3.Rows.Add("C3E", doc.City.C3D);
            tableC3.LockRows("C3E");
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC3.Years.Add(new YearDefinition(x, true, false)));
            tableC3.Years.Add(YearDefinition.Average);
            tableC3.Render();
            tableC3.UserInput += (sender, e) => UpdateData();
            pages[3].Children.Add(tableC3);

            YearwiseTable tableC4 = new YearwiseTable {
                SectionNumber = "1.4", Title = "当地政府债务 Debt Service Expenditures"
            };

            tableC4.Rows.Add("C4A", doc.City.C4A);
            tableC4.Rows.Add("C4B", doc.City.C4B);
            tableC4.Rows.Add("C4C", doc.City.C4C);
            tableC4.Rows.Add("C4D", doc.City.C4D);
            tableC4.LockRows("C4D");
            Enumerable.Range(-3, 4).ToList().ForEach(x => tableC4.Years.Add(new YearDefinition(x, true, false)));
            Enumerable.Range(1, 10).ToList().ForEach(x => tableC4.Years.Add(new YearDefinition(x, true, true)));
            tableC4.Render();
            tableC4.UserInput += (sender, e) => UpdateData();
            pages[4].Children.Add(tableC4);

            pages[5].Children.Add(new TextBlock {
                Text = "1.5 LOCAL GOVERNMENT FINANCIAL SYSTEM ASSESSMENT", Foreground = Brushes.DarkRed
            });
            //Button btnToQ = new Button { Content = "打开问卷(总结模式)", Width = 200, HorizontalAlignment = HorizontalAlignment.Left };
            //btnToQ.Click += (sender, e) => NavigationManager.Navigate("Questionnaire.xaml");
            //pages[5].Children.Add(btnToQ);
            Button btnToQ1 = new Button {
                Content = "打开问卷(演示模式)", Width = 200, HorizontalAlignment = HorizontalAlignment.Left
            };

            btnToQ1.Click += (sender, e) => NavigationManager.Navigate("QuestionPage.xaml", "type=city");

            pages[5].Children.Add(btnToQ1);

            pages[5].Children.Add(new TextBlock {
                Text = "1.6 and Others...", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0)
            });
            Button btnFinancial = new Button {
                Content = "点击以转到城市财力评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left
            };

            btnFinancial.Click += (sender, e) => NavigationManager.Navigate("RichFinancialPage.xaml");
            pages[5].Children.Add(btnFinancial);

            _tables = new List <IUpdateTable> {
                tableC0, tableC1, tableC2, tableC3, tableC4
            };

            return(pages);
        }