.NET複合控制項之可輸入的下拉控制項

來源:互聯網
上載者:User
使用系統;
使用System.Collections.Generic;
使用System.ComponentModel;
使用System.Text;
使用的System.Web;
使用System.Web.UI程式;
使用System.Web.UI.WebControls;
System.Collections中使用;

命名空間QC_Control
{
/// <摘要>
///自訂可輸入下拉框類
/// </摘要>
[ToolboxData(“<{0}:CustomInputDropdownControl RUNAT =伺服器> </ {0}:CustomInputDropdownControl>”) ]
公用類CustomInputDropdownControl:文字框
{

私人DropDownList的ddlListItem =新的DropDownList(); //下拉框
的私人文字框TxtBox =新的TextBox();
私人Hashtable的_values =新的Hashtable(); //用於綁定下拉框框的值

/// <摘要>
///索引值引用變數設定/擷取封裝方法
/// </摘要>
公開Hashtable的項目
{
獲得{
如果(的ViewState [“值”] = = NULL)
{

的ViewState [“值”] =新的Hashtable();

}
其他{}

Hashtable的S =(雜湊表)的ViewState [“值”];
返回S;
}
設定{的ViewState [“值”] =值; }
}


/// <摘要>
///預設建構函式
///初始化的DropDownList和Hashtable執行個體變數
/// </摘要>
公開CustomInputDropdownControl()
{
// this._values =新的Hashtable();
// this.ddlListItem =新的DropDownList();
}

/// <摘要>
///重寫控制項類渲染方法體
/// </摘要>
/// <param name =“輸出”> </ param>的
保護覆蓋無效渲染(HtmlTextWriter的輸出)
{ddlListItem。 ID =“DDL”+ base.ID;
TxtBox.ID =“TXT」+ base.ID;
//架構的開始
output.Write(“<表CELLSPACING ='0'的cellpadding =”0“邊界='0'> <TR> <TD ALIGN =”左“>的<span style ='的位置是:絕對的;邊框:為1pt固體#c1c1c1;溢出:隱藏; WIDTH:188px,高度:19px;剪輯:矩形(-1px 190px 190px 170像素);'>“);

//此處之所以用clientID的是因為當在卡片選項時,.NET程式會將base.ID自動命名名字
ddlListItem.Attributes.Add(“的onChange”,getFocusValue(TxtBox.ID,ddlListItem.ID));
ddlListItem.Attributes.Add(“風格”,“寬度:190px; family:宋體;的margin-top:-2px;”);
TxtBox.Attributes.Add(“風格”,“寬度:170像素,高度:15px的;邊框:0pt;”);
//遍曆資料到下拉框對象中
,如果(this.Item.Count> 0)
{
的foreach(字串Item.Keys鍵)
{
清單項目項=新的ListItem();
item.Value =鍵;
item.Text =項目[關鍵]的ToString();
ddlListItem.Items.Add(項目);
}
}
ddlListItem.RenderControl(輸出);
output.Write(“</ SPAN>的<span style ='的位置是:絕對的;邊框頂部:固體為1pt#c1c1c1;左邊框:為1pt固體#c1c1c1;邊框底部:固體為1pt#c1c1c1;寬度:170像素,高度:19px;“>”);
TxtBox.RenderControl(輸出);
//架構的結尾
output.Write(“</ SPAN> </ TD> </ T> </ TABLE>”);
}

//響應事件方法
公用字串getFocusValue(字串TxtId,串ddlId)
{
迴歸“Java類”+“CRIPT:”+“的document.getElementById('”+ TxtId +“').value的=的document.getElementById('”+ ddlId +“')可供選項[的document.getElementById('”+ ddlId +“').selectedIndex] .value的;”的ToString();

}
}
}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.