zoukankan      html  css  js  c++  java
  • 团队项目——工大助手界面(查询部分)

    工大助手

    基本内容

    • 工大助手(桌面版)
    • 实现登陆、查成绩、计算加权平均分等功能

    团队人员

    界面设计(查询部分)

      使用VS2013 C# WPF制作界面。

    查询界面包括若干Label显示文字,4个ComboBox分别用于选择学年,学期,课程性质和学分,两个TextBox分别用于输入想要查找的课程的名称(支持模糊查询)和显示所查询的课程的加权平均分,一个DataGrid用于显示查询到的课程信息(用户可以对查询到的信息进行不同条件的排序),两个Button“查询”“退出”分别用于查询符合用户选择条件的课程和退出登录返回登陆界面。

    界面代码如下:

    <Window x:Class="WpfApplication2.Window1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="Window1" Height="600" Width="800">
        <Grid>
            <Label Content="北工大easy教务" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Height="49" Width="251" FontSize="36" FontFamily="STLiti"/>
            <Button x:Name="exit" Content="退出" HorizontalAlignment="Left" Height="25" Margin="706,29,0,0" VerticalAlignment="Top" Width="50" Click="exit_Click"/>
            <ComboBox x:Name="schoolYear" HorizontalAlignment="Left" Height="25" Margin="80,64,0,0" VerticalAlignment="Top" Width="100">
                <ComboBoxItem IsSelected="True" Height="19.2" Margin="0,0,0,0"></ComboBoxItem>
                <ComboBoxItem>2015-2016</ComboBoxItem>
                <ComboBoxItem>2014-2015</ComboBoxItem>
                <ComboBoxItem>2013-2014</ComboBoxItem>
            </ComboBox>
            <ComboBox x:Name="credit" HorizontalAlignment="Left" Height="25" Margin="235,114,0,0" VerticalAlignment="Top" Width="100">
                <ComboBoxItem IsSelected="True" Height="19.2" Margin="0,0,0,0"></ComboBoxItem>
                <ComboBoxItem>0.5</ComboBoxItem>
                <ComboBoxItem>1.0</ComboBoxItem>
                <ComboBoxItem>1.5</ComboBoxItem>
                <ComboBoxItem>2.0</ComboBoxItem>
                <ComboBoxItem>2.5</ComboBoxItem>
                <ComboBoxItem>3.0</ComboBoxItem>
                <ComboBoxItem>3.5</ComboBoxItem>
                <ComboBoxItem>4.0</ComboBoxItem>
                <ComboBoxItem>4.5</ComboBoxItem>
                <ComboBoxItem>5.0</ComboBoxItem>
                <ComboBoxItem>5.5</ComboBoxItem>
            </ComboBox>
            <ComboBox x:Name="courseType" HorizontalAlignment="Left" Height="25" Margin="410,64,0,0" VerticalAlignment="Top" Width="150">
                <ComboBoxItem IsSelected="True" Height="19.2" Margin="0,0,0,0"></ComboBoxItem>
                <ComboBoxItem>公共必修课</ComboBoxItem>
                <ComboBoxItem>实践环节</ComboBoxItem>
                <ComboBoxItem>基础必修课</ComboBoxItem>
                <ComboBoxItem>学科基础必修课一</ComboBoxItem>
                <ComboBoxItem>学科基础必修课二</ComboBoxItem>
                <ComboBoxItem>本专业选修课</ComboBoxItem>
                <ComboBoxItem>本、跨专业选修课</ComboBoxItem>
                <ComboBoxItem>校选修课</ComboBoxItem>
                <ComboBoxItem>计算机基础选修课</ComboBoxItem>
                <ComboBoxItem>专业认知</ComboBoxItem>
                <ComboBoxItem>实践环节选修课</ComboBoxItem>
                <ComboBoxItem>公共基础必修课</ComboBoxItem>
                <ComboBoxItem>学科基础必修课</ComboBoxItem>
                <ComboBoxItem>学科基础选修课</ComboBoxItem>
                <ComboBoxItem>专业限选课</ComboBoxItem>
                <ComboBoxItem>专业任选课</ComboBoxItem>
                <ComboBoxItem>实践环节必修课</ComboBoxItem>
                <ComboBoxItem>创新实践环节</ComboBoxItem>
                <ComboBoxItem>通识教育选修课</ComboBoxItem>
                <ComboBoxItem>学科基础必修课(辅)</ComboBoxItem>
                <ComboBoxItem>专业必修课(辅)</ComboBoxItem>
                <ComboBoxItem>实践环节(辅)</ComboBoxItem>
            </ComboBox>
            <ComboBox x:Name="semester" HorizontalAlignment="Left" Height="25" Margin="235,64,0,0" VerticalAlignment="Top" Width="100">
                <ComboBoxItem IsSelected="True" Height="19.2" Margin="0,0,0,0"></ComboBoxItem>
                <ComboBoxItem>1</ComboBoxItem>
                <ComboBoxItem>2</ComboBoxItem>
                <ComboBoxItem>3</ComboBoxItem>
            </ComboBox>
    
            <Label Content="学    年:" HorizontalAlignment="Left" Height="25" Margin="10,64,0,0" VerticalAlignment="Top" Width="65"/>
            <Label Content="学期:" HorizontalAlignment="Left" Height="25" Margin="185,64,0,0" VerticalAlignment="Top" Width="45"/>
            <Label Content="课程性质:" HorizontalAlignment="Left" Height="25" Margin="340,64,0,0" VerticalAlignment="Top" Width="65"/>
            <Label Content="学分:" HorizontalAlignment="Left" Height="25" Margin="185,114,0,0" VerticalAlignment="Top" Width="45"/>
            <Label Content="课程名称:" HorizontalAlignment="Left" Height="25" Margin="10,114,0,0" VerticalAlignment="Top" Width="65"/>
            <TextBox x:Name="courseName" HorizontalAlignment="Left" Height="25" Margin="80,114,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="100"/>
            <Button Content="查询" HorizontalAlignment="Left" Height="25" Margin="631,113,0,0" VerticalAlignment="Top" Width="70" Click="Button_Click"/>
            <DataGrid x:Name="dataGrid1" HorizontalAlignment="Left" Height="372" Margin="92,161,0,0" VerticalAlignment="Top" Width="609" IsReadOnly="True">
             </DataGrid>
            <Label Content="加权:" HorizontalAlignment="Left" Height="25" Margin="422,113,0,0" VerticalAlignment="Top" Width="43"/>
            <TextBox x:Name="weighting" HorizontalAlignment="Left" Height="25" Margin="470,114,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="90" IsReadOnly="True"/>
        </Grid>
    </Window>

    按钮代码如下:

    查询:

                string queryString = "";
                string course_Name = courseName.Text;
                string school_Year = schoolYear.Text;
                string _Semester = semester.Text;
                string course_Type = courseType.Text;
                string _Credit = credit.Text;
                DataTable dt = new DataTable();
                bool flag = false;
                if (!school_Year.Equals(""))
                {
                    queryString += "学年='" + school_Year+"'";
                    flag = true;
                }
                if (!course_Name.Equals(""))
                {
                    if (flag)
                        queryString += " and 课程名称 like '%" + course_Name + "%'";
                    else
                    {
                        queryString += "课程名称 like '%" + course_Name + "%'";
                        flag = true;
                    }
                }
                if (!_Semester.Equals(""))
                {
                    if (flag)
                        queryString += " and 学期='" + _Semester + "'";
                    else
                    {
                        queryString += "学期='" + _Semester + "'";
                        flag = true;
                    }
                }
                if (!course_Type.Equals(""))
                {
                    if (flag)
                        queryString += " and 课程性质='" + course_Type + "'";
                    else
                    {
                        queryString += "课程性质='" + course_Type + "'";
                        flag = true;
                    }
                }
                if (!_Credit.Equals(""))
                {
                    if (flag)
                        queryString += " and 学分='" + _Credit + "'";
                    else
                    {
                        queryString += "学分='" + _Credit + "'";
                        flag = true;
                    }
                }
                if(!flag)
                    queryString = "*";
                flag = false;
                GradeHandler.LoadDataFromExcel();
                if(GradeHandler.QueryData(queryString,out dt))
                {
                    dataGrid1.ItemsSource = dt.DefaultView;
                }
                double _weight;
                if(GradeHandler.CalculateWeightedMean(dt,out _weight))
                    weighting.Text = Convert.ToString(Math.Round(_weight,2));
                else
                    weighting.Text = "";

    查询部分制作一个string queryString 用于在调用查询函数GradeHandler.QueryData(该函数详见张帆的博客)时传递用户选择的查询条件,之后查询结果返回到DataTable dt中,随后将dt中的数据显示在dataGrid中。

    退出:

            private void exit_Click(object sender, RoutedEventArgs e)
            {
                MainWindow myWindow = new MainWindow();
                myWindow.Show();
                this.Close();
            }

    程序查询效果图:

    查询课程名称有计算机的1.0学分的课:

    查询所有课程:

    查询课程名称中有计算机的课程,查询结果按学分排序。

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    深度学习笔记 (二) 在TensorFlow上训练一个多层卷积神经网络
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/yufan-blog/p/5594649.html
Copyright © 2011-2022 走看看