zoukankan      html  css  js  c++  java
  • ExtJs学习笔记(7)_获取GridPanel选中行的详细信息

    这一节,我们将学习如何获取Grid当前选中行的信息

    1.xml数据源内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <Data>
      
    <Items>   
        
    <TotalResults>203</TotalResults>
        
    <TotalPages>21</TotalPages>
        
    <Item>
          
    <ASIN>0446355453</ASIN>     
          
    <Author>Jimmy.Yang</Author>
          
    <Manufacturer>Warner Books</Manufacturer>
          
    <ProductGroup>Book</ProductGroup>
          
    <Title>Master of the Game</Title>      
        
    </Item>
        
    <Item>
          
    <ASIN>0446613657</ASIN>          
          
    <Author>Sidney Sheldon</Author>
          
    <Manufacturer>Warner Books</Manufacturer>
          
    <ProductGroup>Book</ProductGroup>
          
    <Title>Are You Afraid of the Dark?</Title>      
        
    </Item>  
      
    </Items>
    </Data>


    2.静态页内容:

    <!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>
        
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        
    <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
         
    <script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
        
    <script type="text/javascript" src="../ext-all.js"></script> 
        
    <style type="text/css">
            *
    {font-size:12px;line-height:130%;}
        
    </style>
        
    <title>ExtJs_Grid_Xml</title>
    </head>
    <body>

    <script type="text/javascript">

        Ext.onReady(
    function() {

            
    var store = new Ext.data.Store({
                url: 
    'GridData.xml',
                reader: 
    new Ext.data.XmlReader(
                    { record: 
    'Item' },
                    [
    "ASIN""Author""Manufacturer""ProductGroup""Title"])
            });

            
    function SeeDetail(ID) {
                
    return '<a href="Book.aspx?id=' + ID + '" target="_blank">' + ID + '</span>';
            }

            
    var grid = new Ext.grid.GridPanel({
                store: store,
                frame: 
    true,
                columns: [
                    { id: 
    "ASIN", header: "出版号",  120, renderer: SeeDetail, dataIndex: 'ASIN', sortable: true },
                    { header: 
    "作者",  120, dataIndex: 'Author', sortable: true },
                    { header: 
    "书名",  180, dataIndex: 'Title', sortable: true },
                    { header: 
    "制作商",  115, dataIndex: 'Manufacturer', sortable: false },
                    { header: 
    "产品组",  100, dataIndex: 'ProductGroup', sortable: false}],
                renderTo: 
    'example-grid',
                viewConfig: { columnsText: 
    '显示列', sortAscText: '升序', sortDescText: '降序' },
                 
    660,
                height: 
    100,
                sm: 
    new Ext.grid.RowSelectionModel({ singleSelect: true })
            });    


            
    // 定义详细信息的显示模板
            var bookTplMarkup = [
            
    '出版号: <a href="http://www.baidu.com/{ASIN}" target="_blank">{ASIN}</a><br/>',
            
    '作者: {Author}<br/>',
            
    '书名: {Title}<br/>',
            
    '产品组: {ProductGroup}<br/>'
            ];

            
    var bookTpl = new Ext.Template(bookTplMarkup); //ExtJs的模板组件

            
    var p = new Ext.Panel({
                id: 
    "detailPanel",
                title: 
    '详细情况'//标题
                collapsible: true//右上角上的那个收缩按钮,设为false则不显示
                renderTo: 'example-grid'//这个panel显示在html中id为container的层中
                 660,
                height: 
    100,
                html: 
    "请在上面网格中选择一行数据"//panel主体中的内容,可以执行html代码
            });

            grid.getSelectionModel().on(
    'rowselect'function(sm, rowIdx, r) {
                
    var detailPanel = Ext.getCmp('detailPanel');
                bookTpl.overwrite(detailPanel.body, r.data);
                Ext.MessageBox.alert(
    "提示","您选择的出版号是:" + r.data.ASIN);
            });
            store.load();
        });

    </script>

    <div id="example-grid" style="margin:10px 0 0 10px"></div>
    </body>
    </html>

    效果图
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    java内联函数
    jvm垃圾回收
    jvm内存管理
    java进程和线程的区别
    jvm
    简单易学的SSM(Spring+SpringMVC+MyBatis)整合
    Spring之声明式事务
    SpringMVC知识点小结
    Servlet之文件的上传与下载
    java使用字节流和字符流实现文件复制
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1280306.html
Copyright © 2011-2022 走看看