1

次のコードを書きました。

最初の orderid にはプロセス 1 とプロセス 2 の両方のレコードがありますが、2 番目の orderid にはプロセス 1 のレコードしかありません。

orderid 1を選択した後にorderid 2を選択すると、プロセス2テキストボックスのorderid 1の値がそのまま保持されます。そのテキストボックスを空白にしたい

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    DbConnect objdbc = new DbConnect();
    SqlConnection con = objdbc.openConnection();
    SqlCommand cmd = new SqlCommand("SELECT [orderid],[processid],[orgid],[processdesc] ,[perwet] FROM [anghan].[dbo].[ProcessOrder] where orderid='" + DropDownList1.SelectedItem.Value + "' and processid=1 ", con);

    cmd.CommandType = CommandType.Text;
    // cmd.Parameters.AddWithValue("@Id", value);
    cmd.Connection = con;
    //con.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        TextBox2.Text = dr["perwet"].ToString();
        //  DropDownList1.Items(DropDownList1.SelectedIndex).Text = dr["service"].ToString();
    }
    dr.Close();
    //process 2

    SqlCommand cmd2 = new SqlCommand("SELECT [orderid],[processid],[orgid],[processdesc] ,[perwet] FROM [anghan].[dbo].[ProcessOrder] where orderid='" + DropDownList1.SelectedItem.Value + "' and processid=2 ", con);

    cmd2.CommandType = CommandType.Text;
    // cmd.Parameters.AddWithValue("@Id", value);
    cmd2.Connection = con;
    //con.Open();
    SqlDataReader dr2 = cmd2.ExecuteReader();
    while (dr2.Read())
    {

        TextBox3.Text = dr2["perwet"].ToString();
        //  DropDownList1.Items(DropDownList1.SelectedIndex).Text = dr["service"].ToString();
    }
    dr2.Close();
4

2 に答える 2

0

コードの冒頭で、TextBox2 と TextBox3 を空に設定してみませんか。これにより、入力した内容が表示されます。コードが再割り当てされるテキストボックスの値のみが変更され、それ以外の場合は古い値が保持されます。

于 2013-03-28T05:59:04.927 に答える
0
just put like this>>



 if(dr!=null)
    {
        while (dr.Read())
            {
                if((dr["perwet"]!=null)||(dr["perwet"].ToString()!=""))
                TextBox2.Text = dr["perwet"].ToString();
                else
                TextBox2.Text="";


                //  DropDownList1.Items(DropDownList1.SelectedIndex).Text = dr["service"].ToString();
            }
    }

それが動作します。

于 2013-03-28T05:57:21.357 に答える