2017-06-08 19 views
0

我有一个问题,因为我写在C#中关于FCFS算法的程序,我有一个问题,如何从一个DataGridView导入到一个算法,然后显示在这里我datagridview2是我的代码:先到先设定

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Projekt 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

     } 
     DataTable table = new DataTable(); 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      table.Columns.Add("Process", typeof(int)); 
      table.Columns.Add("Arrival Time", typeof(string)); 
      table.Columns.Add("Burst Time", typeof(string)); 
      table.Columns.Add("Piority", typeof(int)); 

      table.Rows.Add("1"); 
      table.Rows.Add("2"); 
      table.Rows.Add("3"); 
      table.Rows.Add("4"); 


      dataGridView1.DataSource = table; 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 

      Random rand = new Random(); 
      dataGridView1[1, 0].Value = rand.Next(5, 30); 
      dataGridView1[2, 0].Value = rand.Next(5, 30); 
      dataGridView1[3, 0].Value = rand.Next(5, 30); 
      dataGridView1[1, 1].Value = rand.Next(5, 30); 
      dataGridView1[2, 1].Value = rand.Next(5, 30); 
      dataGridView1[3, 1].Value = rand.Next(5, 30); 
      dataGridView1[1, 2].Value = rand.Next(5, 30); 
      dataGridView1[2, 2].Value = rand.Next(5, 30); 
      dataGridView1[3, 2].Value = rand.Next(5, 30); 
      dataGridView1[1, 3].Value = rand.Next(5, 30); 
      dataGridView1[2, 3].Value = rand.Next(5, 30); 
      dataGridView1[3, 3].Value = rand.Next(5, 30); 
     } 

     private void FCFS_Click(object sender, EventArgs e) 
     { 

     } 
    } 
} 

你能帮助我,我下面

+0

您可以创建一个表示过程的类。然后使用集合来绑定网格的数据源。 –

+1

为什么'算法'标记为lol。 – jdmdevdotnet

回答

0

try代码这个问题。列0 & 3是int,而列1 & 2个字符串。你不能把一个int到字符串列

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Projekt 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

     } 
     DataTable table = new DataTable(); 
     DataTable table2 = new DataTable(); 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      table.Columns.Add("Process", typeof(int)); 
      table.Columns.Add("Arrival Time", typeof(string)); 
      table.Columns.Add("Burst Time", typeof(string)); 
      table.Columns.Add("Piority", typeof(int)); 

      table.Rows.Add("1"); 
      table.Rows.Add("2"); 
      table.Rows.Add("3"); 
      table.Rows.Add("4"); 


      dataGridView1.DataSource = table; 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 

      Random rand = new Random(); 
      table.Rows[0][0] = rand.Next(5, 30); 
      table.Rows[1][0] = rand.Next(5, 30); 
      table.Rows[2][0] = rand.Next(5, 30); 
      table.Rows[3][0] = rand.Next(5, 30); 
      table.Rows[0][3] = rand.Next(5, 30); 
      table.Rows[1][3] = rand.Next(5, 30); 
      table.Rows[2][3] = rand.Next(5, 30); 
      table.Rows[3][3] = rand.Next(5, 30); 

      dataGridView1 = null; //to force update 
      dataGridView1.DataSource = table; 
     } 

     private void FCFS_Click(object sender, EventArgs e) 
     { 
      table2 = table.Clone(); 
      dataGridView2.DataSource = table2; 

     } 
    } 
} 
0

这两条线没有工作

dataGridView1 = NULL; //强制更新 dataGridView1.DataSource = table;

它们只克隆列而不包含行值