Имам мрежов изглед, който изброява всички клиенти.
Обвързвам го във времето за зареждане на Form, което се поставя в дъщерния елемент на MDI.
Колоните в мрежовия изглед са предварително дефинирани по време на проектиране.
Моят код за събитието Form_Load()
е:
try
{
cn = db.createConnection();
if (cn.State == System.Data.ConnectionState.Open)
{
cn.Close();
}
cn.Open();
cmd = new OleDbCommand("Select BillNo,PartyName,City,State,FORMAT(BillDt,'dd-mm-yyyy') as BillDt from BillMaster", cn);
da = new OleDbDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
cn.Close();
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = ds.Tables[0];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dataGridView1.Rows[i].Cells[0].Value = ds.Tables[0].Rows[i]["BillNo"].ToString();
dataGridView1.Rows[i].Cells[1].Value = ds.Tables[0].Rows[i]["PartyName"].ToString();
dataGridView1.Rows[i].Cells[2].Value = ds.Tables[0].Rows[i]["City"].ToString();
dataGridView1.Rows[i].Cells[3].Value = ds.Tables[0].Rows[i]["State"].ToString();
dataGridView1.Rows[i].Cells[4].Value = ds.Tables[0].Rows[i]["BillDt"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
cn.Close();
da.Dispose();
ds.Dispose();
cmd.Dispose();
}
}
Проверих изпълнението на програмата, като поставих точките на прекъсване. Данните се извличат точно като база данни в DataSet и незабавен прозорец, стойността на конкретна клетка от мрежата показва точната стойност, но проблемът е, че когато формулярът се зареди, мрежата остава празна. И създава броя на празните редове, същият като броя на редовете, извлечени от базата данни.
Какво трябва да направя, за да се справя с тази грешка.
Моля помогнете.