It's really shameful for the 52 persons who viewed my question was unable to solve a problem, that a rookie or a newbie like me has solved it on his own.
now the mistake I've thought about is, there's no rows without columns!
so, come to think of it, I needed a fixed columns with a columns' header name, and it should be written when the form loads, here Form2 loads :
Form2.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace MobileCompany
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
dataGridView1.Columns.Add("id","ID");
dataGridView1.Columns.Add("customername","Customer Name");
dataGridView1.Columns.Add("mobile","Mobile Number");
dataGridView1.Rows.Clear();
for (int i = 0; i < Form1.Company.Count; i++)
{
dataGridView1.Rows.Add(Form1.Company[i].Identity,
Form1.Company[i].CustomerName, Form1.Company[i].MobileNumber);
}
}
}
}