私のアプリケーションでは、ツリーの選択にドロップダウン メニューを使用しています。そして、読み取り専用のテキストボックスを1つ使用しました。ユーザーがそのドロップダウン メニューからツリーを選択すると、その特定のツリーに対応する日付がそのテキスト ボックスに表示されます。例のために。データベース内
tree_no Date of Spathe opening
125 26/05/2010
144 08/03/1999
105 18/05/2010
ユーザーがドロップダウンを使用してツリー 105 を選択すると、2010 年 5 月 18 日の日付がすぐにそのテキスト ボックスに表示されます。
データを正しくフェッチするコードを作成しました。私が直面している問題は、データの表示中です。ユーザーがそのテキストボックスをクリックしたときにのみデータがテキストボックスに表示されます(これは、onclickイベントを使用したためです)データがテキストボックスに表示され、ユーザーが使用しない限りそのテキストボックスに残るようにコードを変更するのを手伝ってくださいaspx ページのドロップダウン メニューから別のツリーを選択します。
<div class="list_text_left">
Tree :</div>
<div class="list_text_right">
<asp:DropDownList ID="ddTreeNo" CssClass="title_dropdown" runat="server" OnSelectedIndexChanged="ddTreeNo_SelectedIndexChanged" />
</div>
<div class="list_text_left_new1">
Date Of Spathe Opening:</div>
<div class="list_text_left_new" style="width: 86px; font-weight: normal;">
<asp:TextBox ID="dtActv" runat="server" CssClass="textbox1" onfocus="Change(this, event)"
onblur="Change(this, event)" onkeypress="return keydown(this.id,event);" ValidationGroup="MKE" />
<input type="hidden" id="dte" runat="server" />
<asp:HiddenField runat="server" ID="hBlockID" />
</div>
ページビハインドコード
dtActv.Attributes.Add("readonly", "readonly");
protected void ddTreeNo_SelectedIndexChanged(object sender, EventArgs e) {
check(ddpBlock.SelectedValue, ddTreeNo.SelectedValue);
Response.Write("Selected value");
}
public void check(string blocknum, string tree) {
string tre = ddTreeNo.SelectedValue;
string lstd = "", dtemas = "";
string str = " select talltree_master.dt_spatheopen ";
str = str + " from talltree_master ";
str = str + " where talltree_master.block_id =" + blocknum + " and talltree_master.dtdied is NULL and talltree_master.talltree_id =" + tree + "";
OdbcCommand cmd = new OdbcCommand(str, cn);
try {
cn.Open();
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {
if (dr.IsDBNull(0)) {
t1 = "";
} else {
tt = dr.GetDate(0);
lstd = tt.ToShortDateString();
}
}
} catch (Exception ex) {
Response.Write(ex);
} finally {
cn.Close();
}
dtActv.Attributes["onclick"] = "clearTextBox(this.id)";
string block_id = lstd;
hBlockID.Value = block_id.ToString();
}
aspx ページの onclick イベントの JavaScript コード
function clearTextBox(dtActv) {
var hBlockID = document.getElementById('<%= hBlockID.ClientID %>').value;
document.getElementById(dtActv).value = hBlockID;
}
私のコードを変更してください。