hello ,
i am using C# window form application and my problem is :
i am adding grid view columns header names and its width through code, which is implemented in a method and call this method in a form_load event.
now problem is, when i call this window form, grid columns header does not display in correct manner(i.e the specified column width manner(srinked)) and again if i upload this grid at button click event then it display with correct column width.
if any body have an idea regarding this problem, please reply me.
Loading
manoj kumarPosted Jun 21, 2011, 8:14 AM
private void frm_Load(object sender, EventArgs e)
{
showSummary();
}
private void showSummary()
{
lblHeaderSchedule.Text = " \"Manual Schedule\" Summary ";
dgvSummary.Rows.Clear();
dgvSummary.Columns.Clear();
if (dgvSchedules.RowCount > 0)
{
int planNo = Convert.ToInt32(dgvSchedules.CurrentRow.Cells["PLANNO"].Value.ToString());
DataTable dtHead = new DataTable();
dtHead = iyms.GetPlanParameters(planNo);
StrFields = dba.dbReturnFields(dtHead);
dgvSummary.Columns.Add("SeqNo", "SEQNO");
dgvSummary.Columns.Add("Specific", "");
dgvSummary.Columns.Add("SubPlan", "SUBPLAN");
dgvSummary.Columns.Add("noOfCoils", "TOTAL COILS");
for (int i = 0; i < dtHead.Rows.Count; i++)
dgvSummary.Columns.Add(dtHead.Rows[i][0].ToString(), dtHead.Rows[i][0].ToString());
dgvSummary.Columns[0].Width = 57;
dgvSummary.Columns[1].Width = 30;
for (int i = 2; i < dgvSummary.ColumnCount; i++)
{
dgvSummary.Columns[i].Width = ((dgvSummary.Width - 87) / (dgvSummary.ColumnCount - 2)) - 1;
}
DataTable dtPlanGroup = new DataTable();
dtPlanGroup = iyms.GetGroupNo(planNo, "seqno");
DataTable dtTotalCoils = new DataTable();
DataTable dtValue = new DataTable();
string strTemp;
for (int i = 0; i < dtPlanGroup.Rows.Count; i++)
{
//string str = "";
//DataTable dtTotalCoils = new DataTable();
dtTotalCoils = iyms.GetDetailsOfSpecificPlanAndGroup(planNo, Convert.ToInt32(dtPlanGroup.Rows[i][0].ToString()));
//DataTable dtValue = new DataTable();
dtValue = iyms.GetParameterWithValueOfSpecificPlanAndGroup(planNo, Convert.ToInt32(dtPlanGroup.Rows[i][0].ToString()));
//string strTemp;
dgvSummary.Rows.Add();
dgvSummary.Rows[i].Cells[0].Value = dtTotalCoils.Rows[0][0].ToString();
dgvSummary.Rows[i].Cells[1].Value = dtTotalCoils.Rows[0][2].ToString();
if (dgvSummary.Rows[i].Cells[1].Value.ToString() == "1")
dgvSummary.Rows[i].Cells[1].Value = "";
else
{
dgvSummary.Rows[i].Cells[1].Value = "*";
dgvSummary.Rows[i].Cells[1].Style.ForeColor = Color.Red;
}
dgvSummary.Rows[i].Cells[2].Value = Convert.ToInt32(dtPlanGroup.Rows[i][0].ToString());
dgvSummary.Rows[i].Cells[3].Value = dtTotalCoils.Rows[0][1].ToString();
for (int j = 0; j < dtHead.Rows.Count; j++)
{
dgvSummary.Rows[i].Cells[j + 4].Value = "X";
dgvSummary.Rows[i].Cells[j + 4].Style.ForeColor = Color.Red;
strTemp = "";
for (int k = 0; k < dtValue.Rows.Count; k++)
{
if (dtValue.Rows[k][0].ToString() == dtHead.Rows[j][0].ToString())
{
strTemp = dtValue.Rows[k][1].ToString();
dgvSummary.Rows[i].Cells[j + 4].Value = strTemp;
dgvSummary.Rows[i].Cells[j + 4].Style.ForeColor = Color.Black;
}
}
}
}
if (dgvSummary.RowCount > 0)
{
for (int i = 0; i < dgvSummary.ColumnCount; i++)
{
dgvSummary.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
dgvSummary.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
}
int m = 235, l = 90, n = 190;
if (dgvSummary.RowCount > 0)
{
for (int i = 0; i < dgvSummary.RowCount; i++)
{
m = m - 20;
l = l + 20;
n = n - 20;
if ((m > 255 || m < 20)) m = 255;//235;
if ((l > 255 || l < 20)) l = 100;//90;
if ((n > 255 || n < 20)) n = 210;//190;
dgvSummary.Rows[i].Cells[0].Style.BackColor = Color.FromArgb(n, l, m);
}
dgvSummary.CurrentCell = null;
}
dtHead.Dispose();
dtPlanGroup.Dispose();
dtTotalCoils.Dispose();
dtValue.Dispose();
}
}
PART 2: IF I CALLED THIS METHOD INSIDE ANOTHER GRID'S CELL CLICK EVENT THEN RESULT DISPLAYED CORRECT
private void dgvSchedules_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvSchedules.RowCount == 0)
return;
if (dgvSchedules.CurrentRow.Cells["SOURCE"].Value.ToString() == "MANUAL")
{
showSummary();
}
}
Suthish NairPosted Jun 21, 2011, 7:10 AM