0

デフォルト値を 2 ドロップダウンリストに戻そうとしています。項目のプロパティを介して DDLocation が追加されている間に、DDLpolice を SQLserver データにバインドしました。管理者が場所を選択すると、利用可能な選択肢が表示されます。

ここに2つのドロップダウンリストがあります

  1. 場所
  2. DDL警察

それぞれのDDLに次の値があります

  • 場所

    1. 場所を選択 (デフォルト値)
    2. 町Aを選択(項目値)
    3. 町Bを選択(項目値)
  • DDLpolice (選択肢 : TownA)

    1. 役員の選択 (デフォルト値)
    2. 123 を選択 (項目値)
    3. 124 (項目値) を選択
  • DDpolice (選択肢:TownB)

    1. 場所を選択 (デフォルト値)
    2. 126 を選択 (項目値)
    3. 127 を選択 (項目値)

私のデータベースでは、それぞれの町にそれぞれの警察 ID があります。

  • 町A
    1. 123
    2. 124
  • B町
    1. 126
    2. 127

管理者が特定のケース ID、場所、およびポリシ ID を選択するたびに、データベースが自動的に更新されますが、これはまったく問題ありません。したがって、論理的には、DDL を「更新」し、選択した policeID を表示しないようにする必要があります。ただし、DDL の値はそのままです。グリッドビュー情報を更新するためにロードグリッドを追加しました。DDL に Item.Clear() を追加して、DDL のデータを完全にクリアしました。

public partial class AssignTask : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {


        if (!IsPostBack)
        {
            LoadGrid();
        }

    }

    private void LoadGrid()
    {

        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source =localhost;" +
            "Initial Catalog = project; Integrated Security = SSPI";
        conn.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("SELECT memberreportid, typeofcrime, location, crdatetime, citizenreport, image1, image2, image3, image4, image5 FROM MemberReport where handle='unhandled' AND caseprogress='inprogress'", conn);
        da.Fill(ds);

        GWCase.DataSource = ds;
        GWCase.DataBind();

        conn.Close();

    }

    protected void GWCase_SelectedIndexChanged(object sender, EventArgs e)
    {

        lblCID.Text = GWCase.SelectedRow.Cells[1].Text;

    }

    protected void lblocation_SelectedIndexChanged(object sender, EventArgs e)
    {
        using (var connAdd = new SqlConnection("Data Source = localhost; Initial Catalog = project; Integrated Security= SSPI"))
        {
            connAdd.Open();


            var sql = "Select policeid from LoginRegisterPolice where location='" + lblocation.SelectedItem.Text + "' AND status='available' AND handle='offcase'";
            using (var cmdAdd = new SqlDataAdapter(sql, connAdd))
            {
                DataSet ds2 = new DataSet();
                cmdAdd.Fill(ds2);

                DDLpolice.DataSource = ds2;
                DDLpolice.DataTextField = "policeid";
                DDLpolice.DataValueField = "policeid";
                DDLpolice.DataBind();
            }      
            connAdd.Close();
        }

    }

    protected void btnAssign_Click(object sender, EventArgs e)
    {

        if (lblCID.Text.Equals(""))
        {
            lblmsg.Text = "Please select one case";
            return;
        }
        else if (lblocation.SelectedItem.Text.Equals("Select Location"))
        {
            lblmsg.Text = "Please select a location";
            return;
        }
        else if (DDLpolice.SelectedItem.Text.Equals("Select Officer"))
        {
            lblmsg.Text = "Please select an officer";
            return;

        }
        else
        {
            lblmsg.Text = "The case has been successfully assigned.";

        }



        using (var connAdd = new SqlConnection("Data Source = localhost; Initial Catalog = project; Integrated Security= SSPI"))
        {
            connAdd.Open();
            var sql = "Update AdminAssign Set assign ='" + DDLpolice.SelectedItem.Text + "' where memberreportid='" + lblCID.Text + "'";
            using (var cmdAdd = new SqlCommand(sql, connAdd))
            {
                cmdAdd.ExecuteNonQuery();
            }

            sql = "Insert into PoliceReport (memberreportid, policeid) values ('" + lblCID.Text.Trim() + "','" + DDLpolice.SelectedItem.Text + "')";
            using (var cmdAdd = new SqlCommand(sql, connAdd))
            {
                cmdAdd.ExecuteNonQuery();
            }


            sql = "Update LoginRegisterPolice Set handle = '" + lblCID.Text + "' where policeid='" + DDLpolice.SelectedItem.Text + "'";
            using (var cmdAdd = new SqlCommand(sql, connAdd))
            {
                cmdAdd.ExecuteNonQuery();
            }

            sql = "Update MemberReport Set handle = 'handled' where memberreportid='" + lblCID.Text + "'";
            using (var cmdAdd = new SqlCommand(sql, connAdd))
            {
                cmdAdd.ExecuteNonQuery();
            }
            connAdd.Close();
        }
        LoadGrid();


        lblCID.Text = "";
        lblocation.Items.Clear();
        DDLpolice.Items.Clear(); 
    }

    protected void DDLpolice_SelectedIndexChanged1(object sender, EventArgs e)
    {

    }

}
}  

したがって、DDLocation、Default Values、Item 値、および DDLpolice のデフォルト値を元に戻す方法を知りたいです。

4

0 に答える 0