根据数据集值

时间:2018-04-26 18:01:21

标签: vb.net visual-studio dataset

更新,我一直在努力理解@Plutonix的想法,但我无法将其付诸实践,因此无法解决我的问题。

有人可以帮我解释一下如何将@Plutonix的想法付诸实施吗?或任何其他会产生相同目标的想法。

我只是想为我的数据集中的每一行创建一组条件语句,我希望这些条件语句填充下面显示的框。

----------------------------- // ---------------- ------------------

我正在创建一个后面有访问数据库的Windows应用程序。

此访问数据库包含5列和40行。

第一列是行的ID,第二列是人名,其余3列是1到25的等级。

在我的表格中,我的目标是有一个带有人名的盒子和里面带有等级的小盒子,我希望这个盒子有一个阈值,使它们根据等级改变颜色。这很容易做到,我已经完成了前2个方框,其中if语句基于在等级的文本框中找到的值。

我的问题是,有40行,这意味着我必须向几个学生中的几个条件做几个if语句,这将产生120组代码。

现在......请记住,我通常不是程序员,因此我的技术知识有限,但如何以更简单的方式为我的所有数据集定义阈值,并考虑到每个人的阈值都是相同的?我不想为每个阈值/列/人做一个if语句。

这就是我现在正在做的事情:

If (Me.PersonBox1.Text < 17) Then

        Me.Contract2.BackColor = Color.Crimson
        Me.Label4.BackColor = Color.Crimson
        Me.TextBox4.ForeColor = Color.White
        Me.Label5.BackColor = Color.Crimson
        Me.TextBox4.BackColor = Color.Crimson

    ElseIf (Me.PersonBox1.Text>= 17 And Me.TextBox1.Text <= 18) Then

        Me.Contract2.BackColor = Color.Orange
        Me.Label4.BackColor = Color.Orange
        Me.TextBox4.ForeColor = Color.White
        Me.Label5.BackColor = Color.Orange
        Me.TextBox4.BackColor = Color.Orange

    ElseIf (Me.PersonBox1.Text >= 19 And Me.TextBox1.Text <= 20) Then

        Me.Contract2.BackColor = Color.Gold
        Me.Label4.BackColor = Color.Orange
        Me.TextBox4.ForeColor = Color.White
        Me.Label5.BackColor = Color.Gold
        Me.TextBox4.BackColor = Color.Gold

    ElseIf (Me.PersonBox1.Text >= 21 And Me.TextBox1.Text <= 22) Then

        Me.Contract2.BackColor = Color.LawnGreen
        Me.TextBox4.ForeColor = Color.White
        Me.Label5.BackColor = Color.LawnGreen
        Me.TextBox4.BackColor = Color.LawnGreen

    ElseIf (Me.PersonBox1.Text > 22) Then

        Me.Contract2.BackColor = Color.LimeGreen
        Me.TextBox4.ForeColor = Color.White
        Me.Label5.BackColor = Color.LimeGreen
        Me.TextBox4.BackColor = Color.LimeGreen
        Me.Label5.ForeColor = Color.White


    End If

现在我不想每列每位学生重复120次,所以现在我的想法就是这样推动我:

Dim Var_OStatus As Integer
    Dim Var_SlaAch As Integer
    Dim Var_Com As Integer
    Dim Var_Part As Integer
    Dim Var_ContImp As Integer
    Dim Var_OStab As Integer
    Dim Var_PersonID As Integer
    Dim table As DataTable
    Dim row As DataRow
    Dim column As DataColumn
    For Each table In Contract_ManagementDataSet3.Tables
        For Each row In table.Rows
            For Each column In table.Columns
                Var_OStatus = Contract_ManagementDataSet3.Tables(0).Rows(0).ToString

                MsgBox("test   " + Var_OStatus.ToString())
            Next column
        Next row
    Next table

我认为这可能是要走的路,但我现在绝对迷失了。

非常感谢任何想法。

仪表板示例:

每个方块将根据一般阈值根据其中的值更改其颜色:

enter image description here

此致

0 个答案:

没有答案