デフォルト値を 2 ドロップダウンリストに戻そうとしています。項目のプロパティを介して DDLocation が追加されている間に、DDLpolice を SQLserver データにバインドしました。管理者が場所を選択すると、利用可能な選択肢が表示されます。
ここに2つのドロップダウンリストがあります
- 場所
- DDL警察
それぞれのDDLに次の値があります
場所
- 場所を選択 (デフォルト値)
- 町Aを選択(項目値)
- 町Bを選択(項目値)
DDLpolice (選択肢 : TownA)
- 役員の選択 (デフォルト値)
- 123 を選択 (項目値)
- 124 (項目値) を選択
DDpolice (選択肢:TownB)
- 場所を選択 (デフォルト値)
- 126 を選択 (項目値)
- 127 を選択 (項目値)
私のデータベースでは、それぞれの町にそれぞれの警察 ID があります。
- 町A
- 123
- 124
- B町
- 126
- 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 のデフォルト値を元に戻す方法を知りたいです。