<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SelectContractList.aspx.cs" Inherits="SelectContractList" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>合同查看列表</title>
<link href="Css/tab/kandytabs.css" rel="stylesheet" type="text/css" />
<link href="Css/Style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.gv_SelectContractList1{ width:1000px; font-weight:bold; font-size:13px; margin:22px 12px; height:100px; }
</style>
<link href="ExtJS/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
<script src="ExtJS/adapter/ext/ext-base.js" type="text/javascript"></script>
<script src="ExtJS/ext-all.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
//grieview中列点击事件
function updateInfo_onclick() {
var obj = event.srcElement; //获取到节点
while (obj.tagName != "TR") {
obj = obj.parentElement; //获取父节点
}
var str = obj.children[12].innerText; //那到每一行的第12个单元格的值,即是备注的详细信息
if (str.length > 6) { //如果获取到的文本大于6个字符,则执行下面代码
var win = new Ext.Window({
id: "showRemarks",
frame: true,
width: 380,
height: 400,
title: "显示备注详细信息",
constrain: true,
resizable: true,
buttonAlign: "center",
modal: true, //屏蔽其它地方
items: [{ xtype: "textarea", id: "txtRemarks", width: 370, height: 335}],
buttons: [{ xtype: "button", text: "关闭", handler: function() {
Ext.getCmp('showRemarks').close(); //调用关闭的方法将窗体关闭
} }]
});
Ext.getCmp("txtRemarks").value = str; //将备注信息赋给textarea
win.show(); //显示窗体
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="div_ContractInfo">
<div id="div_showContractList">
<asp:GridView ID="GridView1" GridLines="Horizontal" BorderStyle="None" CssClass="gv_SelectContractList1" runat="server" AutoGenerateColumns="False"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="序号" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblId" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="合同类型" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblProjectType" runat="server" Text='<%# Eval("ContractType") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="放款编码" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblPayMoneyNo" runat="server" Text='<%# Eval("PayMoneyNo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用款单位" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblPayMoneyUnit" runat="server" Text='<%# Eval("PayMoneyUnit") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="放款金额(万元)" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblPayMoney" runat="server" Text='<%# Eval("PayMoney") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="期限" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblPayMoneyLimitT" runat="server" Text='<%# Eval("PayMoneyLimitT") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="期限单位" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblPayMoneyLimitTUnit" runat="server" Text='<%# Eval("PayMoneyLimitTUnit") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="合同名称" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblContractName" runat="server" Text='<%# Eval("ContractName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="合同编码" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblContractNo" runat="server" Text='<%# Eval("ContractNo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="起始日期" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblContractStartT" runat="server" Text='<%# Eval("ContractStartT") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="截止日期" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Label ID="lblContractEndT" runat="server" Text='<%# Eval("ContractEndT") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="备注" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<span οnclick="updateInfo_onclick()" style="cursor:pointer; text-decoration:underline;" id="span_showRemarks1"><%# CutStr(Eval("ContractRemarks").ToString()) %></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<span style="display:none;" id="span_showRemarks"><%# Eval("ContractRemarks") %></span>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</form>
</body>
</html>
//后台代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using Entity;
using System.Data.SqlClient;
public partial class SelectContractList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//自定义方法,返回当前项目下的所有合同列表信息
protected List<Entity.ContractList> SelectContractList2()
{
Entity.ContractList Contractlist = null;
List<Entity.ContractList> lists = new List<Entity.ContractList>();
string strSql = "select ContractID=ProContractInfo.ContractID,ContractType,PayMoneyNo=PayMoney.PayMoneyNo,PayMoneyUnit,PayMoney,PayMoneyLimitT,PayMoneyLimitTUnit,ContractName,ContractNo=ProContractInfo.ContractNo,ContractStartT,ContractEndT,ContractRemarks=ProContractInfo.ContractRemarks from ProjectInfo,PayMoneyRecord,ProContractInfo,[Contract],PayMoney where ProjectInfo.ProjectNo=PayMoneyRecord.ProjectNo and PayMoneyRecord.PayMoneyId = ProContractInfo.PayMoneyId and ProContractInfo.ContractNo=[Contract].ContractNo and PayMoney.PayProjectNo=PayMoneyRecord.ProjectNo and ProContractInfo.ProjectNo=555";
DAL.DALSelect ds = new DAL.DALSelect();
SqlDataReader reader = ds.ExecuteReader(strSql);
while (reader.Read())
{
Contractlist = new Entity.ContractList();//初始化一个合同列表对象
//将数据库里面读取出的数据赋给实体->合同列表
Contractlist.ContractID = (int)reader["ContractID"];
Contractlist.ContractType = reader["ContractType"].ToString();
Contractlist.PayMoneyNo = reader["PayMoneyNo"].ToString();
Contractlist.PayMoneyUnit = reader["PayMoneyUnit"].ToString();
Contractlist.PayMoney = (decimal)reader["PayMoney"];
Contractlist.PayMoneyLimitT = (int)reader["PayMoneyLimitT"];
Contractlist.PayMoneyLimitTUnit = reader["PayMoneyLimitTUnit"].ToString();
Contractlist.ContractName = reader["ContractName"].ToString();
Contractlist.ContractNo = reader["ContractNo"].ToString();
Contractlist.ContractStartT = reader["ContractStartT"].ToString();
Contractlist.ContractEndT = reader["ContractEndT"].ToString();
Contractlist.ContractRemarks = reader["ContractRemarks"].ToString();
lists.Add(Contractlist);//添加到List集合中
}
reader.Close();
return lists;//返回集合
}
//一个截取字符串的方法
protected string CutStr(string str) {
if (str.Length >6)
{
return str.Substring(0, 6);
}
else {
return str;
}
}
//预备发送事件
protected void Page_PreRender(object sender, EventArgs e){
//绑定GridView2
GridView1.DataSource = SelectContractList2();
GridView1.DataBind();
GridView1.HeaderRow.Attributes.Add("style", "background-color:#B0D8FF;"); //设置标题的样式
//循环设置GridView1行样式
for (int i = 0; i < GridView1.Rows.Count; i++) {
if (i % 2 != 0)
{
GridView1.Rows[i].Attributes.Add("style", "background-color:#FFF;"); //为奇数行添加样式
}
else
{
GridView1.Rows[i].Attributes.Add("style", "background-color:#E6F2FF;"); //为偶数行添加样式
}
}
}
//gridview的RowDataBound事件
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("style", "cursor:pointer;"); // 将光标设为手形
// 当鼠标放上去的时候 先保存当前行的背景颜色 并给附一颜色
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#CFE7FF',this.style.fontWeight='';");
// 当鼠标离开的时候 将背景颜色还原的以前的颜色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
//为行链接添加点击事件
// e.Row.Attributes.Add("OnClick", "ClickEvent('" + e.Row.Cells[1].Text + "')");
}
}
}
//ContractList.cs实体
using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
//合同列表
namespace Entity
{
public class ContractList
{
public int ContractID { set; get; } //合同编号
public string ContractType { set; get; }//合同类型
public string PayMoneyNo { set; get; } //放款编码
public string PayMoneyUnit { set; get; }//用款单位
public decimal PayMoney { set; get; } //放款金额
public int PayMoneyLimitT { set; get; } //期限
public string PayMoneyLimitTUnit { set; get; }//期限单位
public string ContractName { set; get; } //合同名称
public string ContractNo { set; get; } //合同编码
public string ContractStartT { set; get; } //起始日期
public string ContractEndT { set; get; } //截止日期
public string ContractRemarks { set; get; }//合同列表备注
}
}
//web.config里面的配置数据库连接串
<connectionStrings>
<add name="Connection String" connectionString="UID=sa;Password=;Initial Catalog=fssffd_build;Data Source=server1\SQL2005" providerName="System.Data.SqlClient"/>
</connectionStrings>
当点击最后一列的时候触发效果如下: