在网上看到的例程,可是怎么也出不来例子中的效果,POP页总在DataGrid的下面,代码给出,诅大家帮看看。
例程:
DataGrid中的高级ToolTip
URL:
http://blog.csdn.net/yx10/archive/2005/07/18/427766.aspx
我抄过来的:
(不需要连数据库)
HTML
------------------------------------
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Pop.aspx.vb" Inherits="WEBCRM.Pop"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>DataGrid中的高级ToolTip</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<style type="text/css">
.transparent { }
UNKNOWN { BORDER-RIGHT: indianred 1px solid; BORDER-TOP: indianred 1px solid; DISPLAY: none; FILTER: alpha(opacity=85); BORDER-LEFT: indianred 1px solid; BORDER-BOTTOM: indianred 1px solid; POSITION: absolute; BACKGROUND-COLOR: infobackground }
</style>
<script language="javascript">
function Show(Country, City, Address, PostalCode, Phone, Fax)
{
document.getElementById("td1").innerText="国家:"+Country;
document.getElementById("td2").innerText="城市:"+City;
document.getElementById("td3").innerText="地址:"+Address;
document.getElementById("td4").innerText="邮政编码:"+PostalCode;
document.getElementById("td5").innerText="电话:"+Phone;
document.getElementById("td6").innerText="传真:"+Fax;
//获得鼠标的X轴的坐标
x = event.clientX + document.body.scrollLeft;
//获得鼠标的Y轴的坐标
y = event.clientY + document.body.scrollTop + 20;
//显示弹出窗体
Popup.style.display="block";
//设置窗体的X,Y轴的坐标
Popup.style.left = x;
Popup.style.top = y;
}
//隐藏弹出窗体
function Hide()
{
//隐藏窗体
Popup.style.display="none";
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" cellSpacing="3" cellPadding="3" width="300" border="0">
<TR>
<TD style="HEIGHT: 818px">
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" AllowPaging="True">
<Columns>
<asp:BoundColumn DataField="StringValue" HeaderText="CustomerID"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="CompanyName"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="ContactTitle"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="Address"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="City"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="PostalCode"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="Country"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="Phone"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="Fax"></asp:BoundColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:DataGrid></TD>
</TR>
<TR>
<TD>
<div id="Popup" class="transparent" style=" Z-INDEX: 200">
<table border="0" cellpadding="0" style="FONT-SIZE: x-small">
<tr>
<td valign="middle" bgcolor="indianred"><font color="white">联系方式</font></td>
</tr>
<tr>
<td id="td1"></td>
</tr>
<tr>
<td id="td2"></td>
</tr>
<tr>
<td id="td3"></td>
</tr>
<tr>
<td id="td4"></td>
</tr>
<tr>
<td id="td5"></td>
</tr>
<tr>
<td id="td6"></td>
</tr>
</table>
</div>
</TD>
</TR>
<TR>
<TD></TD>
</TR>
</TABLE>
</form>
</body>
</HTML>
-----------------------------
后台代码:
-----------------------------
Public Class Pop
Inherits System.Web.UI.Page
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Dim DT As DataTable
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Me.IsPostBack = False Then
DT = CreateDataSource()
DataGrid1.DataSource = DT.DefaultView
DataGrid1.DataBind()
End If
End Sub
Function CreateDataSource() As DataTable
' Create sample data for the DataList control.
Dim dt As DataTable = New DataTable
Dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(New DataColumn("IntegerValue", GetType(String)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(String)))
dt.Columns.Add(New DataColumn("line", GetType(String)))
dt.Columns.Add(New DataColumn("type", GetType(String)))
dt.Columns.Add(New DataColumn("text_value", GetType(String)))
dt.Columns.Add(New DataColumn("fujian", GetType(String)))
dt.Columns.Add(New DataColumn("re_time", GetType(String)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 To 0
dr = dt.NewRow()
dr(0) = "ddddd" + i.ToString()
dr(1) = "标题 " & i.ToString()
dr(2) = "金额 " & i.ToString()
dr(3) = i.ToString()
dr(4) = "纠错" + i.ToString()
dr(5) = i.ToString() + ":............................................"
dr(6) = "附件" + i.ToString()
dr(7) = "发布时间" + i.ToString()
dt.Rows.Add(dr)
Next i
Return dt
End Function
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex <> -1 Then
Dim VisitRow As DataRow = DT.Rows(e.Item.ItemIndex)
e.Item.Attributes.Add("OnMouseOver", "Show('" + VisitRow("IntegerValue").ToString + "','" + _
VisitRow("re_time").ToString + "','" + _
VisitRow("text_value").ToString + "','" + _
VisitRow("text_value").ToString + "','" + _
VisitRow("CurrencyValue").ToString + "','" + _
VisitRow("StringValue").ToString + "' );")
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=this.oldcolor;Hide();")
End If
End Sub
End Class
请高手相救,急!!!!!