【发布时间】:2012-07-12 06:14:04
【问题描述】:
我的页面上有一个 datagridview,其数据源根据从 2 个组合框中的一对值检索到的记录不断变化, 我需要在我的数据网格中添加一个复选框列,它与我的数据库表中的任何列都没有数据绑定,我正在使用此代码
public void RefreshDataGrid(string query)
{
Buisness_logic bl = new Buisness_logic();
dataGridView1.DataSource = bl.GetDataTable(query);
SetUpDataGridView();
dataGridView1.ClearSelection();
}
public void SetUpDataGridView()
{
DataGridViewCellStyle style = dataGridView1.ColumnHeadersDefaultCellStyle;
style.BackColor = Color.White;
style.ForeColor = Color.Black;
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridView1.RowHeadersVisible = false;
dataGridView1.Columns[0].HeaderText = "Sr.No";
dataGridView1.Columns[0].Width = 50;
dataGridView1.Columns[1].HeaderText = "Rate";
dataGridView1.Columns[1].Width = 70;
dataGridView1.Columns[2].HeaderText = "Amount";
dataGridView1.Columns[2].Width = 100;
dataGridView1.Columns[3].HeaderText = "Mode";
dataGridView1.Columns[3].Width = 60;
dataGridView1.Columns[4].HeaderText = "Support";
dataGridView1.Columns[4].Width = 80;
dataGridView1.Columns[5].HeaderText = "Team1";
dataGridView1.Columns[5].Width = 100;
dataGridView1.Columns[6].HeaderText = "Team2";
dataGridView1.Columns[6].Width = 100;
dataGridView1.Columns[7].HeaderText = "Team3";
dataGridView1.Columns[7].Width = 100;
DataGridViewCheckBoxColumn column3 = new DataGridViewCheckBoxColumn();
column3.Name = "Column3";
column3.HeaderText = "IsCheck";
column3.ReadOnly = false;
dataGridView1.Columns.Add(column3);
}
第一次加载 tge 表单时它的 datagridview 很好,但是当我更改组合框的值并且数据源更改时,列会变得混乱,并且没有。的复选框列被添加,这破坏了我的表单,
这是我用来从表中检索记录的代码
Combo_pair pr1 = combo_match_code.SelectedItem as Combo_pair;
int match_code_f1 = Convert.ToInt32(pr1.Text);
Combo_pair pair = combo_name.SelectedItem as Combo_pair;
int userid_f1 = Convert.ToInt32(pair.Value);
string query = "Select int_sr_no,double_rate,double_amount,txt_mode,txt_support,double_team1,double_team2,double_team3 from match_transaction where int_match_code='" + match_code_f1 + "' AND int_user_id='" + userid_f1 + "' AND is_deleted=0";
RefreshDataGrid(query);
这是第一次加载表单时的图像
这是我多次更改组合框值后的图像
*(抱歉,图片有问题) 我真的需要一些帮助,thanxx
【问题讨论】:
-
每次组合框更改时您都调用
SetUpDataGridView?因为你在那里添加了一个复选框列,所以它会继续添加它的调用次数。 -
所以我应该设置一个计数器以便它只执行第一次???对柜台的外观有什么帮助吗?抱歉,数据网格有点新:(
标签: c# datagridview datagridviewcheckboxcell