Расчет данных - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Как можно сделать расчеты между таблицами,которые представлены на фото. То есть при выборе должности в карте сотрудника,она должна уменьшаться в таблице "должности"(скрин 2). А в таблице вакансии в колонке "занято мест" должно выводится количество занятых должностей, и если нет свободных то в конке "свободно" будет соответствующий результат.

Решение задачи: «Расчет данных»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace DBpoly
  11. {
  12.     public partial class Doljnosti : Form
  13.     {
  14.         public Doljnosti()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void штатноеРасписаниеBindingNavigatorSaveItem_Click(object sender, EventArgs e)
  20.         {
  21.             this.Validate();
  22.             this.штатноеРасписаниеBindingSource.EndEdit();
  23.             this.tableAdapterManager.UpdateAll(this._PolyDB_MDFDataSet);
  24.  
  25.         }
  26.  
  27.         private void Doljnosti_Load(object sender, EventArgs e)
  28.         {
  29.             // TODO: This line of code loads data into the '_PolyDB_MDFDataSet.ШтатноеРасписание' table. You can move, or remove it, as needed.
  30.             this.штатноеРасписаниеTableAdapter.Fill(this._PolyDB_MDFDataSet.ШтатноеРасписание);
  31.  
  32.             for (int i = 0; i < штатноеРасписаниеDataGridView.Columns.Count; i++)
  33.             {
  34.                 if (штатноеРасписаниеDataGridView.Columns[i].Visible == true)
  35.                 {
  36.                     ToolStripSearchColumn3.Items.Add(штатноеРасписаниеDataGridView.Columns[i].HeaderText);
  37.                 }
  38.             }
  39.             ToolStripSearchColumn3.Text = штатноеРасписаниеDataGridView.Columns[1].HeaderCell.Value.ToString();
  40.  
  41.  
  42.         }
  43.  
  44.         private void ToolStripSearch3_Click(object sender, EventArgs e)
  45.         {
  46.             try
  47.             {
  48.                 if (ToolStripSearchColumn3.Text != "" && ToolStripSearchParam3.Text != "" && ToolStripSearchValue3.Text != "")
  49.                 {
  50.                     this.штатноеРасписаниеBindingSource.Filter = ToolStripSearchColumn3.Text + " " + ToolStripSearchParam3.Text + " '" + ToolStripSearchValue3.Text + "'";
  51.                 }
  52.             }
  53.             catch (Exception ex)
  54.             {
  55.                 MessageBox.Show(ex.Message.ToString(), ex.Source.ToString());
  56.             }
  57.         }
  58.  
  59.         private void ToolStripRemFilter3_Click(object sender, EventArgs e)
  60.         {
  61.             this.штатноеРасписаниеBindingSource.RemoveFilter();
  62.             ToolStripSearchColumn3.Text = "";
  63.             ToolStripSearchValue3.Text = "";
  64.         }
  65.     }
  66. }
  67.  
  68.  
  69.  
  70. using System;
  71. using System.Collections.Generic;
  72. using System.ComponentModel;
  73. using System.Data;
  74. using System.Drawing;
  75. using System.Linq;
  76. using System.Text;
  77. using System.Windows.Forms;
  78.  
  79. namespace DBpoly
  80. {
  81.     public partial class vakansii : Form
  82.     {
  83.         public vakansii()
  84.         {
  85.             InitializeComponent();
  86.         }
  87.  
  88.         private void vakansii_Load(object sender, EventArgs e)
  89.         {
  90.             // TODO: This line of code loads data into the '_PolyDB_MDFDataSet.ВакансииСумарно' table. You can move, or remove it, as needed.
  91.             this.вакансииСумарноTableAdapter.Fill(this._PolyDB_MDFDataSet.ВакансииСумарно);
  92.  
  93.         }
  94.  
  95.         private void vakansii_Shown(object sender, EventArgs e)
  96.         {
  97.             refresh();
  98.         }
  99.  
  100.         private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
  101.         {
  102.             try
  103.             {
  104.                 if (toolStripTextBox1.Text != "")
  105.                 {
  106.                     this.вакансииСумарноBindingSource.Filter = "Должность LIKE '" + toolStripTextBox1.Text + "%'";
  107.                 }
  108.                 else
  109.                     this.вакансииСумарноBindingSource.RemoveFilter();
  110.                 refresh();
  111.             }
  112.             catch (Exception ex)
  113.             {
  114.                 MessageBox.Show(ex.Message.ToString(), ex.Source.ToString());
  115.             }
  116.         }
  117.  
  118.         private void toolStripButton2_Click(object sender, EventArgs e)
  119.         {
  120.             this.вакансииСумарноBindingSource.RemoveFilter();
  121.             toolStripTextBox1.Text = "";
  122.         }
  123.  
  124.         private void refresh()
  125.         {
  126.  
  127.             foreach (DataGridViewRow row in this.вакансииСумарноDataGridView.Rows)
  128.             {
  129.                 int val1 = 0;
  130.                 if (row.Cells[2].Value.ToString() != "")
  131.                 {
  132.                     val1 = (int)row.Cells[2].Value;
  133.                 }
  134.  
  135.                 int val2 = 0;
  136.                 string ss = row.Cells[3].Value.ToString();
  137.                 if (row.Cells[3].Value.ToString() != "")
  138.                 {
  139.                     val2 = (int)row.Cells[3].Value;
  140.                 }
  141.  
  142.                 if (val1 - val2 > 0)
  143.                 {
  144.                     row.Cells["Free"].Value = val1 - val2;
  145.                 }
  146.                 else
  147.                 {
  148.                     row.Cells["Free"].Value = "нет";
  149.                 }
  150.             }
  151.  
  152.         }
  153.     }
  154. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы