C# 我怀疑是绑定问题
我把代码贴上来
private void jsj_Load(object sender, EventArgs e)
{
try
{
sqlConn.Open();
//单位选择
sqlDa4 = new SqlDataAdapter("SELECT dwbm,dwm from dwb", sqlConn);
sqlDs4 = new DataSet();
sqlDa4.Fill(sqlDs4, "dwb");
// this.cmb_Temp.Items.Clear();
for (int i = 0; i <= sqlDs4.Tables[0].Rows.Count - 1; i++)
{
string dwbm = sqlDs4.Tables[0].Rows[i]["dwbm"].ToString().Trim();
string dwm = sqlDs4.Tables[0].Rows[i]["dwm"].ToString().Trim();
cmb_Temp.Items.Add(dwbm + "|" + dwm);
cmb_Temp.DropDownStyle = ComboBoxStyle.DropDownList;
}
sqlDa = new SqlDataAdapter("SELECT * from jsj “, sqlConn);
sqlDs = new DataSet();
sqlDa.Fill(sqlDs, "jsj");
dataGridView1.DataSource = sqlDs.Tables["jsj"];
SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(sqlDa);
}
}
private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e)
{
string pd = this.cmb_Temp.Text;
string xh = "";
for (int o = 0; o <= this.cmb_Temp.Text.Length - 1; o++)
{
if (pd.Substring(o, 1) == "|")
{
break;
}
else
{
xh = xh + pd.Substring(o, 1);
}
}
dataGridView1.CurrentCell.Value = xh;
sqlDa = new SqlDataAdapter("Select dwm from dwb where dwbm='" + xh + "'", sqlConn);
sqlDs = new DataSet();
sqlDa.Fill(sqlDs, "dwb");
dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[2].Value = sqlDs.Tables[0].Rows[0]["dwm"].ToString();
sqlDa1 = new SqlDataAdapter("update jsj set dwbm='" + xh + "',dwmc='" + sqlDs.Tables[0].Rows[0]["dwm"].ToString() + "' where sxh='" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString() + "'", sqlConn);
sqlDs1 = new DataSet();
sqlDa1.Fill(sqlDs1);
jsj_Load(null, null);
}
这两段代码 我请教个问题 就是cmb_tmp是个Combox 再LOAD中绑定数据源 结果我加了个清除内容 第一次下拉数据不报错 再啦次数据 结果就会报错 原因是 下面个selectindexchange 事件中的combox中找不到值 头疼啊 如果把selectindexchange中的刷新jsj_load(null,null)去掉的话 添加也不好用 不知道我表达的是否清楚