ASP.NET+Extjs2.0+GridView+Js+显示数据,并且获取GridView相应列的值

28 篇文章 0 订阅
20 篇文章 0 订阅
 
<%@ 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>


当点击最后一列的时候触发效果如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值