nicklung 发表于 2011-4-21 01:18:34

以前做的一个表格类

本帖最后由 nicklung 于 2011-4-21 02:06 编辑

CI的表格类太弱了,看来还得启用以前自己做的这个,给大家分享一下,欢迎拍砖

使用demo

<?php

$PageTitle = "分包商列表";
$currname = basename(__file__);

include_once ("../include/Config.php");
include_once ("../include/CommonFunction.php");
include_once ("../include/DatabaseConn.inc.php");
include_once ("../include/login.inc.php");
include_once ("../include/TableAttrib.php");

function ShowContent()
{
      global $PageTitle;

    $SubcPageNo = 1;
    $SubcTypeID = 0;
    extract($_GET);

      $UID = $_SESSION['UserID'];
      $SubcPageNo = GetValue("SubcPageNo", $SubcPageNo); // $_GET['SubcPageNo']有值就取它,否则从cookie中取值
      $SubcTypeID = GetValue("SubcTypeID", $SubcTypeID);

      $db = new DatabaseConn;
      $tb = new TableAttrib;


      //显示列表------------------------------------------------------------------------

      $sql = "select count(*) from View_FenBaoShangXX ";
      if ($SubcTypeID != 0)
                $sql .= "where subctypeid=$SubcTypeID ";
      $db->Query($sql);
      $RS = $db->FetchArray();
      $totalnum = $RS;

      $tb->;PageSize = 20;
      $tb->SetPageNo($totalnum, $SubcPageNo);
      $limited = $tb->;PageSize * $tb->;PageNo;

      $sql = "select top $limited * from View_FenBaoShangXX ";
      if ($SubcTypeID != 0)
                $sql .= "where subctypeid=$SubcTypeID ";
      $sql .= "order by SubcName";

      $db->Query($sql);

      $db->SeekRow($tb->;PageSize * ($tb->;PageNo - 1));

      for ($i = 0; $i < $tb->DisplayNum; $i++) {
                $RS = $db->FetchArray();
                $tb->BodyArray[] = $RS;
      }

      $tb->AddTitle("分包商名称", "SubcName", 200, "LEFT", 100, "#", "ID", "onclick=\"opdlg('ViewMessage', '分包商管理', 'SubcEdit.php?id=#REPLACE#', 720, 500);\"");
      $tb->AddTitle("类型", "SubcType", 80, "CENTER", 100, "?SubcTypeID=", "SubcTypeID");
      $tb->AddTitle("资质等级", "CredenceType", 80, "CENTER");
      $tb->AddTitle("法人代表", "LegalPerson", 80, "CENTER");
      $tb->AddTitle("单位地址", "Address", 200, "LEFT");
      $tb->AddTitle("单位电话", "Phone", 120, "CENTER");
      $tb->AddTitle("其他联系方式", "OtherContact", 0, "LEFT");

      $tb->AddButton("添加分包商", "onclick=\"opdlg('NewMessage', '分包商管理', 'SubcEdit.php', 660, 520);\"");
      $tb->ChangePageUrl = "?SubcPageNo=";
      $tb->CaptionName = $PageTitle;

      $table = $tb->DisplayTable();

      echo $table;

      $db->Close();
}
require_once ("../include/MainTemplate.php");

?>





function AddTitle($Name = "", $KeyField = "", $Width = 0, $Align = "CENTER", $StrLen = 0, $URL = "", $QueryField =
      "", $ExtAtt = "")
参数说明:$Name:标题行显示的标题,$KeyField:数组键名,$Width:列宽,为0表示子适应宽度(table默认宽度为90%,可动态修改)
$Align:列对齐方式,$Strlen:列长,用了个自定义函数,内容超过长度的截断加‘...’,$URL:点击该列的链接地址,$QueryField:数组关键字段名,会添加到$URL后面,组成一个动态链接地址,$ExtAtt:可以自定义列属性,可将$QueryField动态替换进去,<td $ExtAtt>


效果图


nicklung 发表于 2011-4-21 01:21:10

呵呵,把echo语句给修改掉了
页: [1]
查看完整版本: 以前做的一个表格类