2つのドロップダウンリスト(ddl1、ddl2)と2つのドロップダウンリスト(gddl1、gddl2)を持つグリッドビューがあります。 SelectedIndexChanged
のイベントでddl1のイベントがポストバックでgddl1のSelectedIndex
を変更しています。ドロップダウンリストポストバックで選択した値
私の問題は です。ボタンのクリックイベントでddl1.databind()が発生します。したがって、ddl1の選択されたインデックスが変更されると、選択された値が失われ、初期値に戻ります。
!IsPostback
ボタンをクリックするとddl1をバインドしています。 ddl1とddl2の選択インデックスを保持するにはどうすればよいですか?
protected void btnProceed_Click(object sender, EventArgs e)
{
if(ddlLocation.SelectedIndex > -1) {
empDS = ws_service.GetEmpList(ddlLocation.SelectedValue, ((ddlDept.SelectedValue == "All") ? "" : ddlDept.SelectedValue), ((ddlGrade.SelectedValue == "All") ? "" : ddlGrade.SelectedValue));
appraiserDS = ws_service.GetAppList();
grdDetails.DataSource = empDS.Tables[ 0 ].DefaultView;
grdDetails.DataBind();
ddlAppraiserAll.DataSource = appraiserDS.Tables[ 0 ].DefaultView;
ddlAppraiserAll.DataTextField = "APPRAISER_NAME";
ddlAppraiserAll.DataValueField = "APPRAISER_ID";
ddlAppraiserAll.DataBind();
}
}
protected void ddlAppraiserAll_SelectedIndexChanged(object sender, EventArgs e)
{
foreach(GridViewRow gvRow in grdDetails.Rows) {
Control ctrl = gvRow.FindControl("ddlAppraiserId");
DropDownList ddl = ctrl as DropDownList;
if(ddl != null)
ddl.SelectedIndex = ddlAppraiserAll.SelectedIndex;
}
}
あなたのコードを教えてください。 –
自分のコードを更新しました。 – itzArun
@ itzArun:非同期ポストバックでアップデートパネルを使用しようとします – Rocky