EDN Admin
Well-known member
Hello ,
I am new to win form application.<br/>
The purpose is to add marks for each student for each subject if they are present
<br/>
<br/>
I have created a dataGridView bind from a datatable. That grid has a CheckBox column and ComboxColumn[run time added binden from another data table]
The Problems which i faced are:<br/>
1. Only One CheckBox can be checked for the whole grid,where i need to check more that one.<br/>
2. What ever i type in marks[a TextBox Column] is disappeared when i move from that Cell to another .<br/>
3. The DropDown selection is not showing when ever i change the cell. And it looks that only one value is selectable for all rows. Where i need to select different values for different rows.
DataGridview Have 5 Databound Columns
UserId(Hidden), Student Name,Class,Present[Check Box Column,check if Student present for that subject],Marks[Text Box Column,Will type Marks Here]
And the Subjects[ComboBoxColumn] is added at runtime
Here is the code i have written
<div style="color:black; background-color:white
<pre><span style="color:blue using System;
<span style="color:blue using System.Collections.Generic;
<span style="color:blue using System.ComponentModel;
<span style="color:blue using System.Data;
<span style="color:blue using System.Drawing;
<span style="color:blue using System.Linq;
<span style="color:blue using System.Text;
<span style="color:blue using System.Windows.Forms;
<span style="color:blue using System.Data.SqlClient;
<span style="color:blue namespace TestApp
{
<span style="color:blue public <span style="color:blue partial <span style="color:blue class GridTest : Form
{
SqlConnection con = <span style="color:blue new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[<span style="color:#a31515 "conTest"]);
<span style="color:blue public GridTest()
{
InitializeComponent();
}
<span style="color:blue private <span style="color:blue void GridTest_Load(<span style="color:blue object sender, EventArgs e)
{
BindGrid();
}
<span style="color:blue public DataTable CreateUserDataTable()
{
DataTable dtUsr = <span style="color:blue new DataTable(<span style="color:#a31515 "Users");
dtUsr.Columns.Add(<span style="color:#a31515 "UserId", <span style="color:blue typeof(<span style="color:blue int));
dtUsr.Columns.Add(<span style="color:#a31515 "UserName", <span style="color:blue typeof(<span style="color:blue string));
dtUsr.Columns.Add(<span style="color:#a31515 "Class", <span style="color:blue typeof(<span style="color:blue string));
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Sourav", <span style="color:#a31515 "V");
}
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Sam", <span style="color:#a31515 "VI");
}
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Mike", <span style="color:#a31515 "VII");
}
<span style="color:blue return dtUsr;
}
<span style="color:blue public DataTable CreateSubjectDataTable()
{
DataTable dtSubs = <span style="color:blue new DataTable(<span style="color:#a31515 "Subjects");
dtSubs.Columns.Add(<span style="color:#a31515 "SubId", <span style="color:blue typeof(<span style="color:blue int));
dtSubs.Columns.Add(<span style="color:#a31515 "SubName", <span style="color:blue typeof(<span style="color:blue string));
dtSubs.Rows.Add(1, <span style="color:#a31515 "Math");
dtSubs.Rows.Add(2, <span style="color:#a31515 "Phys");
dtSubs.Rows.Add(3, <span style="color:#a31515 "Chem");
<span style="color:blue return dtSubs;
}
<span style="color:blue public <span style="color:blue void BindGrid()
{
dataGridView1.AutoGenerateColumns = <span style="color:blue false;
<span style="color:green //Bind Grid using Data table
dataGridView1.DataSource = CreateUserDataTable();
<span style="color:green //Bind Combobox in dataGridView
BindComboInGrid();
}
<span style="color:blue public <span style="color:blue void BindComboInGrid()
{
DataGridViewComboBoxColumn dgvComboBox = <span style="color:blue new DataGridViewComboBoxColumn();
dgvComboBox.HeaderText = <span style="color:#a31515 "Subject Namee";
dgvComboBox.DataSource = CreateSubjectDataTable();
dgvComboBox.DisplayMember = <span style="color:#a31515 "SubName";
dgvComboBox.DataPropertyName = <span style="color:#a31515 "SubId";
dgvComboBox.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
dgvComboBox.FlatStyle = FlatStyle.Standard;
dataGridView1.Columns.Insert(5,dgvComboBox);
}
<span style="color:blue private <span style="color:blue void btnReadGrid_Click(<span style="color:blue object sender, EventArgs e)
{
<span style="color:green //Read the grid Data
<span style="color:blue foreach (DataGridViewRow dRow <span style="color:blue in dataGridView1.Rows)
{
<span style="color:blue string sVal = <span style="color:blue string.Empty;
DataGridViewTextBoxCell dgtb = (DataGridViewTextBoxCell)dRow.Cells[4];
sVal = dgtb.Value.ToString();<span style="color:green // dRow.Cells[4].Value.ToString().Trim();
}
<span style="color:blue foreach (DataGridViewRow dRow <span style="color:blue in dataGridView1.Rows)
{
<span style="color:blue string sVal = <span style="color:blue string.Empty;
DataGridViewComboBoxCell dgCmb = (DataGridViewComboBoxCell)dRow.Cells[5];
sVal = dgCmb.Value.ToString();<span style="color:green // dRow.Cells[3].Value.ToString().Trim();
}
}
}
}
[/code]
I know there is something wrong.but alas cant find out.
Please help me to solve this.Any sort of help is great for me
Thanks in advance
Sourav Moy Sau
<br/>
View the full article
I am new to win form application.<br/>
The purpose is to add marks for each student for each subject if they are present
<br/>
<br/>
I have created a dataGridView bind from a datatable. That grid has a CheckBox column and ComboxColumn[run time added binden from another data table]
The Problems which i faced are:<br/>
1. Only One CheckBox can be checked for the whole grid,where i need to check more that one.<br/>
2. What ever i type in marks[a TextBox Column] is disappeared when i move from that Cell to another .<br/>
3. The DropDown selection is not showing when ever i change the cell. And it looks that only one value is selectable for all rows. Where i need to select different values for different rows.
DataGridview Have 5 Databound Columns
UserId(Hidden), Student Name,Class,Present[Check Box Column,check if Student present for that subject],Marks[Text Box Column,Will type Marks Here]
And the Subjects[ComboBoxColumn] is added at runtime
Here is the code i have written
<div style="color:black; background-color:white
<pre><span style="color:blue using System;
<span style="color:blue using System.Collections.Generic;
<span style="color:blue using System.ComponentModel;
<span style="color:blue using System.Data;
<span style="color:blue using System.Drawing;
<span style="color:blue using System.Linq;
<span style="color:blue using System.Text;
<span style="color:blue using System.Windows.Forms;
<span style="color:blue using System.Data.SqlClient;
<span style="color:blue namespace TestApp
{
<span style="color:blue public <span style="color:blue partial <span style="color:blue class GridTest : Form
{
SqlConnection con = <span style="color:blue new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[<span style="color:#a31515 "conTest"]);
<span style="color:blue public GridTest()
{
InitializeComponent();
}
<span style="color:blue private <span style="color:blue void GridTest_Load(<span style="color:blue object sender, EventArgs e)
{
BindGrid();
}
<span style="color:blue public DataTable CreateUserDataTable()
{
DataTable dtUsr = <span style="color:blue new DataTable(<span style="color:#a31515 "Users");
dtUsr.Columns.Add(<span style="color:#a31515 "UserId", <span style="color:blue typeof(<span style="color:blue int));
dtUsr.Columns.Add(<span style="color:#a31515 "UserName", <span style="color:blue typeof(<span style="color:blue string));
dtUsr.Columns.Add(<span style="color:#a31515 "Class", <span style="color:blue typeof(<span style="color:blue string));
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Sourav", <span style="color:#a31515 "V");
}
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Sam", <span style="color:#a31515 "VI");
}
<span style="color:blue for (<span style="color:blue int i = 0; i < CreateSubjectDataTable().Rows.Count ; i++)
{
dtUsr.Rows.Add(1, <span style="color:#a31515 "Mike", <span style="color:#a31515 "VII");
}
<span style="color:blue return dtUsr;
}
<span style="color:blue public DataTable CreateSubjectDataTable()
{
DataTable dtSubs = <span style="color:blue new DataTable(<span style="color:#a31515 "Subjects");
dtSubs.Columns.Add(<span style="color:#a31515 "SubId", <span style="color:blue typeof(<span style="color:blue int));
dtSubs.Columns.Add(<span style="color:#a31515 "SubName", <span style="color:blue typeof(<span style="color:blue string));
dtSubs.Rows.Add(1, <span style="color:#a31515 "Math");
dtSubs.Rows.Add(2, <span style="color:#a31515 "Phys");
dtSubs.Rows.Add(3, <span style="color:#a31515 "Chem");
<span style="color:blue return dtSubs;
}
<span style="color:blue public <span style="color:blue void BindGrid()
{
dataGridView1.AutoGenerateColumns = <span style="color:blue false;
<span style="color:green //Bind Grid using Data table
dataGridView1.DataSource = CreateUserDataTable();
<span style="color:green //Bind Combobox in dataGridView
BindComboInGrid();
}
<span style="color:blue public <span style="color:blue void BindComboInGrid()
{
DataGridViewComboBoxColumn dgvComboBox = <span style="color:blue new DataGridViewComboBoxColumn();
dgvComboBox.HeaderText = <span style="color:#a31515 "Subject Namee";
dgvComboBox.DataSource = CreateSubjectDataTable();
dgvComboBox.DisplayMember = <span style="color:#a31515 "SubName";
dgvComboBox.DataPropertyName = <span style="color:#a31515 "SubId";
dgvComboBox.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
dgvComboBox.FlatStyle = FlatStyle.Standard;
dataGridView1.Columns.Insert(5,dgvComboBox);
}
<span style="color:blue private <span style="color:blue void btnReadGrid_Click(<span style="color:blue object sender, EventArgs e)
{
<span style="color:green //Read the grid Data
<span style="color:blue foreach (DataGridViewRow dRow <span style="color:blue in dataGridView1.Rows)
{
<span style="color:blue string sVal = <span style="color:blue string.Empty;
DataGridViewTextBoxCell dgtb = (DataGridViewTextBoxCell)dRow.Cells[4];
sVal = dgtb.Value.ToString();<span style="color:green // dRow.Cells[4].Value.ToString().Trim();
}
<span style="color:blue foreach (DataGridViewRow dRow <span style="color:blue in dataGridView1.Rows)
{
<span style="color:blue string sVal = <span style="color:blue string.Empty;
DataGridViewComboBoxCell dgCmb = (DataGridViewComboBoxCell)dRow.Cells[5];
sVal = dgCmb.Value.ToString();<span style="color:green // dRow.Cells[3].Value.ToString().Trim();
}
}
}
}
[/code]
I know there is something wrong.but alas cant find out.
Please help me to solve this.Any sort of help is great for me
Thanks in advance
Sourav Moy Sau
<br/>
View the full article