markyjj 0 Newbie Poster

Can someone please help me with the following problem. I currently have a datagrid linked to an sql database and in the grid I have a ckeckbox column. However, when I check the box in the current cell the checked box disappears when I click on another cell and only reappears only when I go back to the cell. I was wandering how I get the checked box to stay visible even when I click on another cell.


I would be grateful for any advice, many thanks.

Can someone please help me with the following problem. I currently have a datagrid linked to an sql database and in the grid I have a ckeckbox column. However, when I check the box in the current cell the checked box disappears when I click on another cell and only reappears only when I go back to the cell. I was wandering how I get the checked box to stay visible even when I click on another cell.

I would be grateful for any advice, many thanks.


//Define controls must be added to data grid. 
private ComboBox cboControl = new ComboBox();
private ComboBox cboControl2 = new ComboBox();


//Control definishion to add to DataGrid
DataGridTableStyle dataGridStyle = new DataGridTableStyle();

//Create the TextBox columns for the datagrid columns
DataGridTextBoxColumn aCol1 = new DataGridTextBoxColumn();
DataGridTextBoxColumn aCol2 = new DataGridTextBoxColumn();
DataGridTextBoxColumn aCol3 = new DataGridTextBoxColumn();
DataGridTextBoxColumn aCol4 = new DataGridTextBoxColumn();
DataGridTextBoxColumn aCol5 = new DataGridTextBoxColumn();
DataGridTextBoxColumn aCol6 = new DataGridTextBoxColumn();
CheckBox chk1 = new CheckBox(); 
DataView Dv;
public string Movstring;
public string Combostr;
public int CurRow = -1;
public int CurCol = -1;
public string CellValue;
public bool strValue = false;
private System.Windows.Forms.Button button11;
private System.Windows.Forms.Button button12;
private System.Windows.Forms.Button Findbtn;
public System.Windows.Forms.Button UpdateSavebtn;
public bool imageswitch;
public void Imagescrn()
{
this.BackgroundImage = Image.FromFile("C:\\Documents and Settings\\Mark\\My Documents\\My Pictures\\house_pg2.jpg");
}
public void ImageMain()
{
this.BackgroundImage = Image.FromFile("C:\\Documents and Settings\\Mark\\My Documents\\My Pictures\\bg_page.jpg");
}



static void Main() 
{
Application.Run(new Form1());
}




public void Form1_Load(object sender, System.EventArgs e)
{ 
//Add a new table style to datagrid.
DesignTableStyle();
dataGrid1.RowHeadersVisible = true;
dataGrid1.DataSource = Movset1;
MovAdapt.Fill(Movset1, "MovTable1");
dataGrid1.DataSource = Movset1;
label1.Show();
Show(); 
dataGrid1.Show();

}


//Add a new table style to datagrid.
private void DesignTableStyle()
{

cboControl.Cursor = Cursors.Arrow;
cboControl2.Cursor = Cursors.Arrow;

dataGridStyle.MappingName= "MovTable1";
dataGridStyle.PreferredRowHeight = 24;

//

// Create GridColumnStyle objects for the grid columns
// 

aCol1.HeaderText = "Item No";
aCol1.MappingName = "Movie_Index";
aCol1.Width = 50;


dataGridStyle.GridColumnStyles.Add(aCol1);


dataGrid1.TableStyles.Add(dataGridStyle);


aCol2.HeaderText = "Title";
aCol2.MappingName = "Title";
aCol2.Width = 100;
dataGridStyle.GridColumnStyles.Add(aCol2);


dataGridComboBox.HeaderText = "Category";
dataGridComboBox.MappingName = "Category";
dataGridComboBox.Width = 130;
dataGridStyle.GridColumnStyles.Add(dataGridComboBo x);

dataGridComboBox2.HeaderText = "Features";
dataGridComboBox2.MappingName = "Features";
dataGridComboBox2.Width = 130;
dataGridStyle.GridColumnStyles.Add(dataGridComboBo x2);

aCol6.HeaderText = "Boxset";
aCol6.MappingName = "Boxset";
aCol6.Width = 100;
dataGridStyle.GridColumnStyles.Add(aCol6);
aCol6.TextBox.Controls.Add(chk1); 


}


private void label1_Click(object sender, System.EventArgs e)
{

}



private void button2_Click(object sender, System.EventArgs e)
{ 
this.Close(); 
}


private void button4_Click(object sender, System.EventArgs e)
{
dataGrid1.Hide();
label1.Hide();
Imagescrn();
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'HORROR'";
}

private void button6_Click(object sender, System.EventArgs e)
{
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'Action/Thriller'";
}

private void button8_Click(object sender, System.EventArgs e)
{
label1.Hide();
this.BackgroundImage = Image.FromFile("C:\\Documents and Settings\\Mark\\My Documents\\My Pictures\\drama_pg.jpg");
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'Drama'";
}

private void button5_Click(object sender, System.EventArgs e)
{
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'Family/Entertainment'";
}

private void button7_Click(object sender, System.EventArgs e)
{
label1.Hide();
this.BackgroundImage = Image.FromFile("C:\\Documents and Settings\\Mark\\My Documents\\My Pictures\\scifi_pg.jpg");
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'Sci-Fi/Fantasy'";
}

private void button9_Click(object sender, System.EventArgs e)
{
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv;
Dv.RowFilter = "Category = 'TV/Series'";
}

private void button10_Click(object sender, System.EventArgs e)
{ 
ImageMain();
dataGrid1.RowHeadersVisible = true;
dataGrid1.DataSource = Movset1;
label1.Show();
Show(); 
}


private void textBox1_TextChanged(object sender, System.EventArgs e)
{
Movstring = textBox1.ToString();
}

private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
int Currncol = 0;
Currncol = dataGrid1.CurrentCell.ColumnNumber;
CurCol = dataGrid1.CurrentCell.ColumnNumber; 
CurRow = dataGrid1.CurrentCell.RowNumber; 
dataGrid1.RowHeadersVisible = false;

Currncol = dataGrid1.CurrentCell.ColumnNumber; 

if(Currncol == 2) {


Combostr = this.cboControl.SelectedText.ToString();
cboControl.SelectedIndexChanged+=new EventHandler(cboSelectedIndexChanged); 

}

if(Currncol == 3)
{ 


Combostr = this.cboControl2.SelectedText.ToString();
cboControl2.SelectedIndexChanged+=new EventHandler(cbo2SelectedIndexChanged);

} 

if(Currncol == 4)
{ 
MessageBox.Show("Checked col has been clicked"); 
chk1.CheckedChanged +=new EventHandler(chk1_CheckedChanged);


} 


Currncol = 0;

}



private void Form1_Enter(object sender, System.EventArgs e)
{
dataGrid1.RowHeadersVisible = true;

}

private void button12_Click(object sender, System.EventArgs e)
{

dataGrid1.Show();

}

private void Findbtn_Click(object sender, System.EventArgs e)
{ 
Dv = new DataView(Movset1.Tables[0]);
dataGrid1.DataSource = Dv; 
Dv.RowFilter = "Title ='"+textBox1.Text+"'";
if(textBox1.Text == "")
{
MessageBox.Show("Search failed: Movie Title has not been entered!! ");
return;
}

if(Dv.Count < 1)
{
MessageBox.Show("Movie does not exist in MovieBase, please try again");
} 

}

private void UpdateSavebtn_Click_1(object sender, System.EventArgs e)
{
Mcon.Open();
CurCol = dataGrid1.CurrentCell.ColumnNumber; 
CurRow = dataGrid1.CurrentCell.RowNumber; 
CellValue = dataGrid1[CurRow, CurCol].ToString();
MessageBox.Show(CellValue.ToString());
if(CellValue == "")
{

MessageBox.Show("No Fields can be Blank - update failed");
Movset1.RejectChanges();
dataGrid1.Show();


CurRow = -1;
CurCol = -1;
Mcon.Close();
return;

}
CellValue = dataGrid1[CurRow, CurCol].ToString();
CurRow = -1;
CurCol = -1;

MovAdapt.UpdateCommand = cb.GetUpdateCommand();
MovAdapt.Update(Movset1.Tables[0]);
Movset1.AcceptChanges();

MessageBox.Show("MovieBase has been updated");

Mcon.Close();


dataGrid1.RowHeadersVisible = true;
}

private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{ 

hitTestGrid = dataGrid1.HitTest(e.X, e.Y);

//Add combobox control to datagrid.
dataGridComboBox.TextBox.Controls.Add( cboControl );
cboControl.Items.AddRange(new string[8]{"","Horror","Action/Thriller","TV/Series","Sci-fi/Fantasy","Family","Drama","Comedy"});

dataGridComboBox2.TextBox.Controls.Add( cboControl2 );
cboControl2.Items.AddRange(new string[4]{"","Standard","Extended Edtn","Directors Cut"});



} 

//Initialize Conrols for adding in DataGrid cells.
private void InitializeControls()
{ 
//combobox property
cboControl.Cursor = Cursors.Hand;
cboControl.DropDownStyle = ComboBoxStyle.DropDownList;
//combobox events. 

}
private void cboSelectedIndexChanged(object sender, System.EventArgs e)
{ 

dataGrid1[CurRow, CurCol] = cboControl.SelectedItem.ToString();
CurRow = 0;
CurCol = 0;

}

private void cbo2SelectedIndexChanged(object sender, System.EventArgs e)
{ 
dataGrid1[CurRow, CurCol] = cboControl2.SelectedItem.ToString();
CurRow = 0;
CurCol = 0; 


} 

private void chk1_CheckedChanged(object sender, EventArgs e)
{
if(chk1.Checked)
{
CurCol = 0; 
CurCol = 0; 
chk1.Enabled = true;



}

} 
}
}