参考列顺序排列

时间:2013-07-11 03:14:58

标签: c# mysql wpf database entity-framework

我有一个MySQL数据库表(我正在使用实体框架),如下所示: enter image description here

以下是我用于在WPF上检索和填充它们的代码:  CRUD类文件:

        //Get all records based on ActivityID and TaskID.
    public IList<Model.questionhint> GetRecords(int listTask, int listActivity)
    {
        IList<Model.questionhint> lstRecords = context.questionhints.ToList();
        return lstRecords.Where(a => a.TaskID == listTask && a.ActivityID == listActivity).ToList(); 

    }

代码背后:

      public MainWindow2()
    {
        InitializeComponent();
        PopulateQuestion(1, 5);
    }

    private void PopulateQuestion(int activityID, int taskID)
    {
        IList<Model.questionhint> lstQuestionHints = qh.GetRecords(taskID, activityID);

        foreach(Model.questionhint qhm in lstQuestionHints)
        {

            TextBlock tb = new TextBlock();
            tb.Text = qhm.QuestionContent;              
            tb.FontWeight = FontWeights.Bold;
            tb.FontSize = 24;
            WrapPanelTest.Children.Add(lbl);

            if (qhm.Option1.Trim().Length > 0 &&
                qhm.Option2.Trim().Length > 0)
            {
                ComboBox cb = new ComboBox();
                cb.Items.Add(qhm.Option1);
                cb.Items.Add(qhm.Option2);
                cb.Width = 200;
                WrapPanelTest.Children.Add(cb);
            }

        }
    }

它在我的程序中的显示方式:

enter image description here

正如你所看到的,这些问题都是复合在一起的,我想根据他们的问题将它们分开在上面的数据库表中(例如,几个具有相同问题的记录不应该复合在一起。)但我完全不知道怎么样 。我想将它们分开:

  

我[comboBox]每天下午小睡一下。

     

太阳[comboBox]不绕地球移动。

提前感谢您对此的任何帮助。

2 个答案:

答案 0 :(得分:1)

在StackPanel而不是WrapPanel中添加控件。

答案 1 :(得分:1)

试试这个

     StackPanel sp=new StackPanel();
    foreach(Model.questionhint qhm in lstQuestionHints)
    {
    StackPanel sp1=new StackPanel(){Orientation=Orientation.Horizontal};     
        TextBlock tb = new TextBlock();
        tb.Text = qhm.QuestionContent;              
        tb.FontWeight = FontWeights.Bold;
        tb.FontSize = 24;
        sp1.Children.Add(lbl);

        if (qhm.Option1.Trim().Length > 0 &&
            qhm.Option2.Trim().Length > 0)
        {
            ComboBox cb = new ComboBox();
            cb.Items.Add(qhm.Option1);
            cb.Items.Add(qhm.Option2);
            cb.Width = 200;
            sp1.Children.Add(cb);
        }
       sp.Children.Add(sp1); 
    }
    WrapPanelTest.Children.Add(sp);