带图片的,多列的DropDownList的实现

WebDropDownList.aspx

<% @ Page language = " c# "  Codebehind = " WebDropDownList.aspx.cs " validateRequest = " false "  
 AutoEventWireup
= " false "  Inherits = " eMeng.WebDropDownList "   %>
< HTML >
< HEAD >
< title > 模拟下拉列表框 </ title >
< meta http - equiv = " Content-Type "  content = " text/html; charset=gb2312 " >
< style > BODY  {
FONT: 12px 宋体
}

TD 
{
FONT: 12px 宋体
}

DIV 
{
FONT: 12px 宋体
}

LABEL 
{
PADDING
-RIGHT: 0px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; PADDING-TOP: 3px; HEIGHT: 19px
}

.link_box 
{
CURSOR: 
default; TEXT-ALIGN: left
}

.link_head 
{
BORDER
-RIGHT: 2px inset; BORDER-TOP: 2px inset; BORDER-LEFT: 2px inset; WIDTH: 100%
BORDER
-BOTTOM: 2px inset; HEIGHT: 23px
}

.link_text 
{
PADDING
-LEFT: 2px; BACKGROUND: #fff
}

.link_arrow0 
{
BORDER
-RIGHT: 2px outset; BORDER-TOP: 2px outset; BACKGROUND: buttonface; 
FONT: 14px marlett; BORDER
-LEFT: 2px outset; WIDTH: 22px;
 BORDER
-BOTTOM: 2px outset; HEIGHT: 100%; TEXT-ALIGN: center
}

.link_arrow1 
{
BORDER
-RIGHT: buttonshadow 1px solid; PADDING-RIGHT: 0px; 
BORDER
-TOP: buttonshadow 1px solid; PADDING-LEFT: 2px; 
BACKGROUND: buttonface; PADDING
-BOTTOM: 0px; FONT: 14px marlett; 
BORDER
-LEFT: buttonshadow 1px solid; WIDTH: 22px; PADDING-TOP: 2px; 
BORDER
-BOTTOM: buttonshadow 1px solid; HEIGHT: 100%; TEXT-ALIGN: center
}

.link_value 
{
BORDER
-RIGHT: 1px solid; BORDER-TOP: 1px solid; FILTER: alpha(opacity:0); 
VISIBILITY: hidden; OVERFLOW
-X: hidden; OVERFLOW: auto; BORDER-LEFT: 1px solid; 
BORDER
-BOTTOM: 1px solid; POSITION: absolute
}

.link_record0 
{
BORDER
-TOP: #eee 1px solid; PADDING-LEFT: 2px; BACKGROUND: #fff; 
WIDTH: 
100%; COLOR: #000; HEIGHT: 20px
}

.link_record1 
{
BORDER
-TOP: #047 1px solid; PADDING-LEFT: 2px; BACKGROUND: #058
WIDTH: 
100%; COLOR: #fe0; HEIGHT: 20px
}

</ style >
< script >
var dropShow
= false
var currentID
function dropdown(el)
{
if(dropShow){
dropFadeOut()
}
else{
currentID
=el
el.style.visibility
="visible"
dropFadeIn()
}

}

function dropFadeIn()
{//选单淡入的效果
if(currentID.filters.alpha.opacity<100){
currentID.filters.alpha.opacity
+=20
fadeTimer
=setTimeout("dropFadeIn()",50)
}
else{
dropShow
=true
clearTimeout(fadeTimer)
}

}

function dropFadeOut()
{//选单淡出的效果
if(currentID.filters.alpha.opacity>0){
clearTimeout(fadeTimer)
currentID.filters.alpha.opacity
-=20
fadeTimer
=setTimeout("dropFadeOut()",50)
}
else{
dropShow
=false
currentID.style.visibility
="hidden"
}

}

function dropdownHide()
{
if(dropShow){
dropFadeOut()
dropShow
=false
}

}

function hiLight(el)
{//高亮度显示指标位置
if(dropShow){
for(i=0;i<el.parentElement.childNodes.length;i++){
el.parentElement.childNodes(i).className
="link_record0"
}

el.className
="link_record1"
}

}

function CheckMe(el)
{//替换显示内容
document.all.text1.innerText=el.innerText
}

document.onclick
= dropdownHide
</ script >
</ HEAD >
< body text = " #000000 "  onload = " document.all.form1.reset() " >
< div style = " padding:10px;border-bottom:2px solid red " > 模拟下拉框 </ div >
< form id = " form1 "  onsubmit = " alert(city.value) "  runat = " server " >
< table >
< tr >
< td >
< div  class = " link_box "  onselectstart = " return false "  style = " WIDTH: 100px " >
< div  class = " link_head "  onclick = " dropdown(value1) " >
< table height = " 100% "  cellSpacing = " 0 "  cellPadding = " 0 "  width = " 100% "  border = " 0 " >
< tr >
 
< td >
  
< div  class = " link_text " >< nobr >< label id = " text1 " > 请选择? </ label ></ nobr ></ div >
 
</ td >
 
< td align = " right "  width = " 22 " >
  
< div onmouseup = " this.className='link_arrow0' "   class = " link_arrow0 "  
  onmousedown
= " this.className='link_arrow1' "  onmouseout = " this.className='link_arrow0' " > 6 </ div >
 
</ td >
</ tr >
</ table >
</ div >
< div  class = " link_value "  id = " value1 "  style = " WIDTH: 500px; HEIGHT: 300px " >
< asp:datagrid id = " DataGrid1 "  runat = " server "  AutoGenerateColumns = " False "  Font - Size = " 12px "  Width = " 100% "
ShowHeader
= " False " >
< Columns >
< asp:BoundColumn DataField = " Title "  SortExpression = " Title "  
 DataFormatString
= " <img src='http://dotnet.aspx.cc/Images/meng.gif' align='absmiddle'> {0} " >
 
</ asp:BoundColumn >
< asp:BoundColumn DataField = " CreateDate "  SortExpression = " CreateDate "  
 HeaderText
= ""  DataFormatString = " {0:yyyy年MM月dd日} " ></ asp:BoundColumn >
</ Columns >
</ asp:datagrid >
< div id = " mx " >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "  
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 北京市 </ label ></ div >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "  
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 上海市 </ label ></ div >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 河南省 </ label ></ div >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 深圳市 </ label ></ div >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 大连市 </ label ></ div >
< div  class = " link_record0 "  onmouseover = " hiLight(this) "
 onclick
= " CheckMe(this);document.all.form1.city.value=this.innerText " >< label > 云南省 </ label ></ div >
</ div >
</ div >
</ div >
</ td >
< td >< input type = " hidden "  value = " 您尚未选择 "  name = " city " >   < input type = " submit "  value = " 确定 " >
</ td >
</ tr >
</ table >
</ form >
</ body >
</ HTML >

WebDropDownList.aspx.cs

using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.Data.OleDb;

namespace  eMeng
{
/// <summary>
/// ShowList 的摘要说明。
/// </summary>

public class WebDropDownList : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{   
DataGrid1.Columns[
0].ItemStyle.Width = Unit.Pixel(400);
DataGrid1.Columns[
1].ItemStyle.Width = Unit.Pixel(100);
Data_Bind();
}


public void Data_Bind()
{
Response.CacheControl 
= "no-cache";
Response.Expires 
= -1;
try
{
string strSQL = "SELECT id,objectGuid,Title,CreateDate,HitCount FROM Document ORDER BY id DESC";
string cnString = (new Connection()).ConnectionString;
OleDbConnection cn 
= new OleDbConnection(cnString);
cn.Open();
OleDbCommand cmd 
= new OleDbCommand(strSQL, cn);
DataGrid1.DataSource 
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
DataGrid1.DataBind();
cn.Close();
cn.Dispose();
cn 
= null;
cmd.Dispose();
cmd 
= null;
}

catch(OleDbException myOleDbException)
{
Response.Write(
"错误:" + myOleDbException.Message + ":" + myOleDbException.HelpLink);
Response.End();
}

}

private void DataGrid1_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{

if( e.Item.ItemIndex != -1 )
{
e.Item.Attributes.Add(
"onmouseover""this.bgColor='#C1D2EE'");
e.Item.Attributes.Add(
"onclick"
"document.all.text1.innerText=this.cells[0].innerText;document.all.form1.city.value=this.cells[0].innerText;");
if (e.Item.ItemIndex % 2 == 0 )
{
 e.Item.Attributes.Add(
"bgcolor""#FFFFFF");
 e.Item.Attributes.Add(
"onmouseout""this.bgColor=document.getElementById('DataGrid1').getAttribute('singleValue')");
}

else
{
 e.Item.Attributes.Add(
"bgcolor""oldlace");
 e.Item.Attributes.Add(
"onmouseout""this.bgColor=document.getElementById('DataGrid1').getAttribute('oldValue')");
}

}

else
{
DataGrid1.Attributes.Add(
"oldValue""oldlace");
DataGrid1.Attributes.Add(
"singleValue""#FFFFFF");
}

}

Web Form Designer generated code
}

}



 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值