明源售樓系統技術解析 簽約管理(二)
控制元件使用方法:
1、下拉樹:
作用:顯示的資料有層次
下拉樹控制元件截圖:
第一步:資料庫
程式碼:
if @type='SelectBusinessStatus' begin SELECT BusinessStatusID AS YeWuZhuangTaiID, BusinessStatusName AS YeWuZhuangTaiMingCheng, BusinessName AS YeWuMingCheng, StatusColor AS ZhuangTaiYanSe, StatusCondition AS ZhuangTaiTiaoJian, Explain, Father_ID AS YeWuFar_ID FROM SYS_BusinessStatusTable where SYS_BusinessStatusTable.BusinessName='簽約' end
第二步:BLL層
程式碼:
public DataTable ChaXunZhuangTai()//方法名 { SqlParameter[] SQLCMDpas = {//建立陣列 new SqlParameter("@type", SqlDbType.Char),//對應資料庫儲存過程的引數 }; SQLCMDpas[0].Value = "SelectBusinessStatus";//對應資料庫儲存過程的方法名稱 DataTable dt = myDALMethod.DAL_SelectDB_Par("PW_SignAContractManage", SQLCMDpas);//所對應資料庫的儲存過程 return dt;//返回引數 }
第三步:控制器
程式碼:
# region 查詢業務狀態樹狀圖 public ActionResult ChaxunZhuangTai() { DataTable dt = myQianYueGuanLi.ChaXunZhuangTai(); //查詢所有的商品資訊 string stringtree = GetDataString(dt, "0");//執行GetDataString方法,遞迴地生成樹形控制元件要用的Json字串 stringtree = stringtree.Remove(stringtree.Length - 2, 2);//移除字串最後兩個字元即}, return Content(stringtree);//返回Joson字串 } #region 生成Tree的json資料 public string GetDataString(DataTable dt, string id) { string stringbuilder = ""; //建立stringbuilder字串 DataView dv = new DataView(dt);//建立DataView物件 dv.RowFilter = "YeWuFar_ID=" + id;//根據父ID=id這個條件過濾資料 DataTable dtChild = dv.ToTable();//過濾的結果生成dtChild子資料表 if (dtChild.Rows.Count > 0)//判斷dtChild子資料錶行的數量是否大於0 { //大於0則執行下面程式碼 stringbuilder += "["; //在字串後加上[ 也可以用stringbuilder = stringbuilder+"[" 代替 for (int i = 0; i < dtChild.Rows.Count; i++)//遍歷dtChild子資料表 { string leiid = dtChild.Rows[i]["YeWuZhuangTaiID"].ToString();//把第i行的類別ID賦值給字串leiid string chidstring = GetDataString(dt, leiid);//以商品資訊資訊表和leiid作為引數,呼叫自身方法,返回Json字串chidstring if (chidstring.Length > 0)//判斷chidstring字串長度是否大於0 {//大於0 stringbuilder += "{ \"id\":\"" + dtChild.Rows[i]["YeWuZhuangTaiID"].ToString() + "\",\"text\":\"" + dtChild.Rows[i]["YeWuZhuangTaiMingCheng"].ToString().Trim() + "\",\"state\":\"closed\",\"children\":"; //除了設定id屬性和text屬性外,再設定state屬性和children屬性 stringbuilder += chidstring; //stringbuilder後加上chidstring字串 } else {//等於0 stringbuilder += "{\"id\":\"" + dtChild.Rows[i]["YeWuZhuangTaiID"].ToString() + "\",\"text\":\"" + dtChild.Rows[i]["YeWuZhuangTaiMingCheng"].ToString().Trim() + "\"},";//設定id屬性和,text屬性 } } stringbuilder = stringbuilder.Remove(stringbuilder.Length - 1, 1);//移除字串最後字元即, stringbuilder += "]},";//在字串最後加上]}, } return stringbuilder;//返回Json字串stringbuilder } #endregion #endregion
第四步:介面
程式碼:
$.getJSON("/XiaoShouHouTai/ChaXunZhuangTai",
function (data) {
$('#treZhuangTai').tree('loadData', data);
});
點選狀態設定的按鈕開啟業務狀態的視窗如下圖:
當開啟業務狀態設定的窗體後可以對下拉樹的資料進行增加、刪除、修改,相關的步驟如下:
增加的操作:
點選新增按鈕開啟新增介面
第一步:資料庫
程式碼:
--新增業務狀態
if @type='Insert_BusinessStatus'
begin
insert into SYS_BusinessStatusTable(BusinessStatusName, BusinessName, StatusColor, StatusCondition, Explain, Father_ID)
values (@YeWuZhuangTaiMingCheng, @YeWuMingCheng, @ZhuangTaiYanSe, @ZhuangTaiTiaoJian, @ShuoMing, @YeWuFar_ID)
end
第二步:BLL層
程式碼:
public int TianJiaYeWuZhuangTai(string YeWuZhuangTaiMingCheng, string YeWuMingCheng, string ZhuangTaiYanSe, string ZhuangTaiTiaoJian, string ShuoMing, int YeWuFar_ID)
{//方法名與需要增加的資料
SqlParameter[] SQLCMDpas = {//建立一個數組
new SqlParameter("@type",SqlDbType.Char),//
new SqlParameter("@YeWuZhuangTaiMingCheng",SqlDbType.Char),
new SqlParameter("@YeWuMingCheng",SqlDbType.Char),
new SqlParameter("@ZhuangTaiYanSe",SqlDbType.Char),
new SqlParameter("@ZhuangTaiTiaoJian",SqlDbType.Char),
new SqlParameter("@ShuoMing",SqlDbType.Char),
new SqlParameter("@YeWuFar_ID",SqlDbType.Char)
};
SQLCMDpas[0].Value = "Insert_BusinessStatus";
SQLCMDpas[1].Value = YeWuZhuangTaiMingCheng;
SQLCMDpas[2].Value = YeWuMingCheng;
SQLCMDpas[3].Value = ZhuangTaiYanSe;
SQLCMDpas[4].Value = ZhuangTaiTiaoJian;
SQLCMDpas[5].Value = ShuoMing;
SQLCMDpas[6].Value = YeWuFar_ID;
int dt = myDALMethod.DAL_OPTableDB_Par("PW_SignAContractManage", SQLCMDpas);
return dt;
}
第三步:控制器
程式碼:
#region 業務狀態增加
public ContentResult TianJiaYeWuZhuangTai(string YeWuZhuangTaiMingCheng, string YeWuMingCheng, string ZhuangTaiYanSe, string ZhuangTaiTiaoJian, string ShuoMing, int YeWuFar_ID)
{
int i = myQianYueGuanLi.TianJiaYeWuZhuangTai(YeWuZhuangTaiMingCheng,
YeWuMingCheng,
ZhuangTaiYanSe,
ZhuangTaiTiaoJian,
ShuoMing,
YeWuFar_ID);
if (i > 0)
{
return Content("true");
}
else
{
return Content("");
}
}
#endregion
第四步:介面層
程式碼:
function InsertYeWu() {//方法名
if (confirm('是否新增?')) {//彈出一個可選擇的對話方塊
$.getJSON("/XiaoShouHouTai/TianJiaYeWuZhuangTai?YeWuZhuangTaiMingCheng=" + $('#txtZhuangTaiMingCheng').val() + "&"//對相關的資料進行操作
+ "YeWuMingCheng=" + $('#txtYeWuMingCheng').val() + "&"
+ "ZhuangTaiYanSe=" + $('#txtZhuangTaiYanSe').val() + "&"
+ "ZhuangTaiTiaoJian=" + $('#txtZhuangTaiTiaoJian').val() + "&"
+ "ShuoMing=" + $('#txtShouMing').val() + "&"
+ "YeWuFar_ID=15" + "&",
function (data) {
if (data != null) {//判斷傳的引數是否為空
alert("新增成功");
$("#w增加狀態").window("close");//關閉新增的窗體
ZhuangTaiSheZhi();//重新整理資料
$('#w增加狀態').window('reload');//重新整理資料
ZhuangTaiSheZhi();
}
else {
alert("新增失敗");
}
});
}
}
點選刪除按鈕刪除業務狀態的資料
第一步:資料庫
程式碼:
--刪除業務狀態
if @type='Delete_BusinessStatus'
begin
delete SYS_BusinessStatusTable
where [email protected]
end
第二步:BLL層
程式碼:
public int ShanChuYeWu(int BusinessStatusID)//方法名
{
SqlParameter[] SQLCMDpas = {//建立一個數組
new SqlParameter("@type",SqlDbType.Char),//對應資料庫儲存過程的引數
new SqlParameter("@BusinessStatusID",SqlDbType.Char)
};
SQLCMDpas[0].Value = "Delete_BusinessStatus";//對應資料庫儲存過程的方法名稱
SQLCMDpas[1].Value = BusinessStatusID;//介面傳回資料庫的引數
int dt = myDALMethod.DAL_OPTableDB_Par("PW_SignAContractManage", SQLCMDpas);//所對應資料庫的儲存過程
return dt;//返回引數
}
第三步:控制器
程式碼:
#region 刪除業務
public ActionResult ShanChuCangKuXinXi(int BusinessStatusID)
{
int i = myQianYueGuanLi.ShanChuYeWu(BusinessStatusID);
return Content("true");
}
#endregion
第四步:介面
程式碼:
function YeWuShanChu() {
if (confirm('是否刪除?')) {//彈出可選擇對話方塊
var row = $('#w業務狀態').datagrid('getSelected');//獲取選中項的資料
if (row) {
$.getJSON("/XiaoShouHouTai/ShanChuCangKuXinXi?BusinessStatusID=" + row.BusinessStatusID,
function (date) {
alert("刪除成功!");
$.getJSON("/XiaoShouHouTai/ChaXunSuoYouZhuangTai",
function (data) {
$('#w業務狀態').datagrid('loadData', data);
});
});
}
else{
alert("請選擇需要刪除的成品!");
}
}
else
return false;
}
點選修改開啟修改介面如圖
第一步:資料庫
程式碼:
--修改業務狀態
if @type='Update_BusinessStatus'
begin
update SYS_BusinessStatusTable
set [email protected], [email protected], [email protected], [email protected], [email protected]
where [email protected]
end
第二步:BLL層
程式碼:
public int XiuGaiYeWu(string YeWuZhuangTaiMingCheng, string YeWuMingCheng, string ZhuangTaiYanSe, string ZhuangTaiTiaoJian, string ShuoMing, string BusinessStatusID)
{
SqlParameter[] SQLCMDLpas = {
new SqlParameter("@type",SqlDbType.Char),//對應資料庫儲存過程的引數
new SqlParameter("@YeWuZhuangTaiMingCheng",SqlDbType.Char),
new SqlParameter("@YeWuMingCheng",SqlDbType.Char),
new SqlParameter("@ZhuangTaiYanSe",SqlDbType.Char),
new SqlParameter("@ZhuangTaiTiaoJian",SqlDbType.Char),
new SqlParameter("@ShuoMing",SqlDbType.Char),
new SqlParameter("@BusinessStatusID",SqlDbType.Int)
};
SQLCMDLpas[0].Value = "Update_BusinessStatus";//對應資料庫儲存過程的方法名稱
SQLCMDLpas[1].Value = YeWuZhuangTaiMingCheng;//介面傳回資料庫的引數
SQLCMDLpas[2].Value = YeWuMingCheng;
SQLCMDLpas[3].Value = ZhuangTaiYanSe;
SQLCMDLpas[4].Value = ZhuangTaiTiaoJian;
SQLCMDLpas[5].Value = ShuoMing;
SQLCMDLpas[6].Value = BusinessStatusID;
int i = myDALMethod.DAL_OPTableDB_Par("PW_SignAContractManage", SQLCMDLpas);//所對應資料庫的儲存過程
return i;//返回引數
}
第三步:控制器
程式碼:
public ContentResult XiuGaiYeWu(string YeWuZhuangTaiMingCheng, string YeWuMingCheng, string ZhuangTaiYanSe, string ZhuangTaiTiaoJian, string ShuoMing, string BusinessStatusID)
{
int i = myQianYueGuanLi.XiuGaiYeWu(YeWuZhuangTaiMingCheng, YeWuMingCheng, ZhuangTaiYanSe, ZhuangTaiTiaoJian, ShuoMing, BusinessStatusID);
return Content(i.ToString());
}
第四步:介面
程式碼:
function XiuGaiYeWu1() {
if (confirm('是否修改?')) {//彈出可選擇對話方塊
var row = $('#w業務狀態').datagrid('getSelected');//獲取選中項的資料
$.getJSON("/XiaoShouHouTai/XiuGaiYeWu?YeWuZhuangTaiMingCheng=" + $('#txtZhuangTaiMingCheng1').val() + "&"
+ "YeWuMingCheng=" + $('#txtYeWuMingCheng1').val() + "&"
+ "ZhuangTaiYanSe=" + $('#txtZhuangTaiYanSe1').val() + "&"
+ "ZhuangTaiTiaoJian=" + $('#txtZhuangTaiTiaoJian1').val() + "&"
+ "ShuoMing=" + $('#txtShouMing1').val() + "&"
+ "BusinessStatusID=" + row.BusinessStatusID,
function (data) {
if (data != null) {
alert("修改成功!");
$("#w修改狀態").window("close");//關閉窗體
ZhuangTaiSheZhi();//重新整理資料
} else {
alert("修改失敗!");
}
}
);
}
}
點選銷控按鈕開啟簽約的銷控狀態如圖,輔助房間簽約於沒簽約的房間的檢視,便於房間進行操作。
功能實現的步驟
第一步:資料庫
1、表與表的關係:表1:SYS_銷售變更表(SYS_StatusChangeTable)
列名 |
型別 |
主鍵/外來鍵 |
說明 |
StatusChangeID |
int - Identity |
主鍵 |
銷售變更ID |
RoomDatumID |
int |
外來鍵 |
房間資料ID |
SellStatusDetailID |
int |
外來鍵 |
銷售狀態明細ID |
DeleteNot |
bit |
刪除否 |
表2:SYS_銷售狀態表(SYS_SellStatusTable)
列名 |
型別 |
主鍵/外來鍵 |
說明 |
SellStatusID |
int - Identity |
主鍵 |
銷售狀態ID |
SellStatusName |
nchar (100) |
銷售狀態名稱 |
表3:.SYS_銷售狀態明細表(SYS_SellStatusDetailTable)
列名 |
類別 |
主鍵/外來鍵 |
說明 |
SellStatusDetailID |
int - Identity |
主鍵 |
銷售狀態明細ID |
SellStatusID |
int |
外來鍵 |
銷售狀態 |
SellStatusTime |
date |
銷售狀態時間 |
|
SellStatusCause |
nchar (50) |
銷售狀態原因 |
|
LawfulDay |
date |
有效日期 |
|
SubscribeHandsel |
money |
預訂定金 |
|
SubscribeNumber |
nchar (30) |
預訂編號 |
|
CurrencyID |
int |
外來鍵 |
幣種ID |
Operator |
nchar (30) |
經辦人 |
|
ClientDatumID |
int |
外來鍵 |
客戶資料ID |
表4:SYS_房間資料表(SYS_RoomDataTable)
列名 |
類別 |
主鍵/外來鍵 |
說明 |
|
RoomDataID |
int - Identity |
主鍵 |
房間資料ID |
|
HouseID |
int |
外來鍵 |
樓棟ID |
|
RoomCode |
nchar (50) |
房間程式碼 |
||
RoomUnit |
nchar (10) |
房間單元 |
||
RoomNumber |
nchar (20) |
房號 |
||
natureNumber |
nchar (20) |
自然層號 |
||
Floor |
nchar (20) |
樓層號 |
||
ColumnNumber |
nchar (20) |
列號 |
||
CoveredArea |
decimal (18, 3) |
建築面積 |
||
BuilDingExceptArea |
decimal (18, 3) |
套內面積 |
||
AreaShare |
decimal (18, 3) |
分攤面積 |
||
BalconyArea |
decimal (18, 3) |
陽臺面積 |
||
RoomFaceDirectionID |
int |
外來鍵 |
朝 向 |
|
LandscapeID |
int |
外來鍵 |
景觀ID |
|
HouseTypeID |
int |
外來鍵 |
戶型ID |
|
RoomTypeID |
int |
外來鍵 |
房間型別ID |
|
RoomRanking |
nchar (20) |
房間排號 |
||
OnbuildingExceptAreaCountNot |
bit |
按套內面積計算否 |
||
LockNot |
bit |
是否鎖定 |
||
CountWayID |
int |
外來鍵 |
計算方式ID |
|
RoomDescribeID |
int |
外來鍵 |
||
SellStatusID |
int |
外來鍵 |
銷售狀態ID |
|
AffiliatedHousePropertyNot |
bit |
|||
BuildingPropertiesID |
int |
|||
BuildingNot |
bit |
|||
ZhuangTaiWeiZhenFou |
bit |
狀態為真否 |
表3:SYS_HouseTable(SYS樓棟表)
列名 |
型別 |
主鍵/外來鍵 |
說明 |
HouseID |
int - Identity |
主鍵 |
樓棟ID |
HouseCode |
nchar (40) |
樓棟程式碼 |
|
HouseName |
nchar (40) |
樓棟名稱 |
|
RoomNumberModelTypeID |
int |
外來鍵 |
房間編號模式型別ID |
ContractHouseName |
nchar (40) |
合同棟號名稱 |
|
GiveHouseStandardID |
int |
外來鍵 |
交屋標準ID |
ShouldGiveHouseDate |
date |
應交房日期 |
|
BriefRemarks |
nchar (80) |
簡要備註 |
|
NumberOfPlies |
int |
層數 |
|
BuildingPropertyID |
int |
外來鍵 |
建築性質ID |
SupervisionInstitutionID |
int |
外來鍵 |
監理機構ID |
EstateNumber |
nchar (80) |
樓棟房地產證號 |
|
MassifNumber |
nchar (80) |
樓棟地塊編號 |
|
LandArea |
decimal (18, 3) |
樓棟土地面積 |
|
LandSellAgreementNumber |
nchar (80) |
樓棟土地出讓合同號 |
|
LandUserBeginDate |
date |
樓棟土地使用開始時間 |
|
LandUserEndDate |
date |
樓棟土地使用結束時間 |
|
HouseLandUse |
nchar (80) |
樓棟土地用途 |
|
HouseAreaTypeID |
int |
外來鍵 |
樓棟面積型別ID |
ProjectSubregionID |
int |
外來鍵 |
專案所屬ID |
StructureID |
int |
外來鍵 |
架構ID |
資料庫
程式碼:
if @Type='ConditionSelectRoom'
begin
SELECT RoomDataID, HouseID, RoomNumber, Floor,ZhuangTaiWeiZhenFou
FROM SYS_RoomDataTable
where [email protected] and [email protected]
order by RoomNumber
end
if @Type='ConditionSelect'
begin
SELECT RoomDescribeID, HouseID, ZhuiDaChengShu = NatureStoreyFinishNumber-NatureStoreyActionNumber+1
FROM [SYS_ RoomDescribeTable]
where [SYS_ RoomDescribeTable][email protected]
end
第二步:BLL層
程式碼:
#region 動態生成列
public DataTable TiaoJianChaXunFangJian(int LouDongID, int LouCengHao)
{
SqlParameter[] SQLCMDpas ={
new SqlParameter("@Type",SqlDbType.Char),
new SqlParameter("@HouseID",SqlDbType.Char),
new SqlParameter("@Floor",SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConditionSelectRoom";
SQLCMDpas[1].Value = LouDongID;
SQLCMDpas[2].Value = LouCengHao;
DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_PublicTool", SQLCMDpas);
return dt;
}
public DataTable TiaoJianChaXunFangJianMiaoShu(int LouDongID)
{
SqlParameter[] SQLCMDpas ={
new SqlParameter("@Type",SqlDbType.Char),
new SqlParameter("@HouseID",SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConditionSelect";
SQLCMDpas[1].Value = LouDongID;
DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_PublicTool", SQLCMDpas);
return dt;
}
#endregion
第三步:控制器
程式碼:
#region 動態生成列
public ActionResult LouDongBiaoMoXing(int LouDongID, int LouCengHao)
{
DataTable dt2 = new DataTable();//新建DataTable
DataTable dt = myAnJieGuanLi.TiaoJianChaXunFangJian(LouDongID, 1);//通過樓棟ID查詢有多少房間
DataTable MiaoShuDt = myAnJieGuanLi.TiaoJianChaXunFangJianMiaoShu(LouDongID);//查詢最大樓層數
dt2.Columns.Add("LouChen", typeof(string));//新增一列
for (int i = 0; i < dt.Rows.Count; i++)//迴圈房號數
{
string DtLie = "F" + i;//拼接字串
dt2.Columns.Add(DtLie, typeof(string));//把拼接的字串加入新增的那列中
}
int ZongLouChengShu = Convert.ToInt32(MiaoShuDt.Rows[0]["ZhuiDaChengShu"].ToString());//獲取最大樓層
for (int i = 0; i < ZongLouChengShu; i++)//迴圈最大樓層
{
dt2.Rows.Add();//在新建的DataTable裡面新增一行
string LouChen = "";//定義一個字串
if (ZongLouChengShu - i > 9)
{
LouChen = (ZongLouChengShu - i).ToString();
}
else
{
LouChen = "0" + (ZongLouChengShu - i);
}
dt2.Rows[i]["LouChen"] = LouChen;//從大到小排列樓層號
DataTable dt3 = myAnJieGuanLi.TiaoJianChaXunFangJian(LouDongID, ZongLouChengShu - i);//查詢房號
for (int j = 0; j < dt.Rows.Count; j++)//迴圈把房號加入DataTable裡面
{
string A = "F" + j;//再次定義房號數
string F1 = dt3.Rows[j]["RoomNumber"].ToString().Trim();//獲取房號
DataTable bt = myXiaoShouKongZhi.Select_SellStatusRoom(Convert.ToInt32(dt3.Rows[j]["RoomDataID"]));//通過房間ID查詢銷售狀態
int BaoLiuID = Convert.ToInt32(bt.Rows[0]["SellStatusDetailID"].ToString());//獲取銷售狀態
if(BaoLiuID == 4){//判斷銷售狀態的ID為4時拼接字串
dt2.Rows[i][A] = F1+"留";
}
else{
dt2.Rows[i][A] = F1;
}
}
}
List<Dictionary<string, object>> ListReturn = ConvertHelper.DtToList(dt2);//轉換成list列表格式
return Json(ListReturn, JsonRequestBehavior.AllowGet);//將list列表轉換成Json資料返回介面
}
public ActionResult TiaoJianChaXunFangJianMiaoShu(int LouDongID)
{
DataTable dt = myAnJieGuanLi.TiaoJianChaXunFangJianMiaoShu(LouDongID);//查詢最大樓層數
DataTable dt2 = myAnJieGuanLi.TiaoJianChaXunFangJian(LouDongID, 1);//通過樓棟ID查詢有多少房間
try//出錯處理
{
string ZhuiDaChengShu = dt.Rows[0]["ZhuiDaChengShu"].ToString();
}
catch
{
}
string FangHuiZhi = dt2.Rows.Count.ToString();
return Content(FangHuiZhi);//返回資料
}
#endregion
第四步:介面
程式碼:
var y;
var options = {};
var String1 = "[[{ field:'LouChen', title: '樓層', width: 40},";//建立datagrid表格格式
function onChangeHouseID() {
Select_SellStatus();//查詢銷售狀態
$.getJSON("/XiaoShouHouTai/TiaoJianChaXunFangJianMiaoShu?LouDongID=" + $('#cboLouDongMingCheng').combobox('getValue'),//獲取最大房號
function (data) {
//alert(data);
if (data > 0) {
for (var i = 0; i < data; i++) {//迴圈最大房號
y = i + 1;
if (i < data - 1) {
var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,styler:cellStyler},"//拼接datagrid的列
String1 = String1 + s;
} else {
var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,styler:cellStyler}"
String1 = String1 + s + "]]";
}
}
//alert(String1);
options.columns = eval(String1);//將字串轉換為html格式
//alert(options);
$('#tbYeWuXiaoKong').datagrid(options);//加入到datagrid裡面
$.getJSON("/XiaoShouHouTai/LouDongBiaoMoXing?LouDongID=" + $('#cboLouDongMingCheng').combobox('getValue') + "&" + "LouCengHao=1",//查詢datagrid的資料
function (data) {
$('#tbYeWuXiaoKong').datagrid("loadData", data);//把房號繫結到datagrid裡面
String1 = "[[{ field:'LouChen', title: '樓層', width: 40},";//重新定義字串String1
});
} else {
Kong();//清空datagrid
}
});
}
function Kong() {
var String1 = "[[{}]]";//建立空的datagrid
options.columns = eval(String1);
$('#tbYeWuXiaoKong').datagrid(options);
$('#tbYeWuXiaoKong').datagrid('loadData', { total: 0, rows: [] });//清空datagrid的資料
}
var RoomNumber = '';
var FangJianZhuangTaiID = 0;//宣告一個變數
function cellStyler(value, row, index) {
var row = $('#wZT').datagrid("getData");//獲取資料
for (var i = 0; i < row.rows.length; i++) {
FangJianZhuangTaiID = (row.rows[i].SellStatusID).toString().trim();//將datagrid中的SellStatusID賦值給變數
RoomNumber = (row.rows[i].we).toString().trim(); //將datagrid中的SellStatusID賦值給RoomNumber
if (FangJianZhuangTaiID == 5) {//判斷FangJianZhuangTaiID
if (value == RoomNumber) {//判斷房間房號是否相同
return 'background-color:#FF0000;color:#000000;';//將單元格變為紅色
}
}
if (FangJianZhuangTaiID == 6) {
if (value == RoomNumber) {
return 'background-color:#00FF00;color:#000000;';
}
}
}
<div style="text-align: center;"></div><div style="text-align: right;"><span style="font-family: Arial, Helvetica, sans-serif;"> }</span></div>
僅供於學習,禁用於商業用途
相關推薦
明源售樓系統技術解析 簽約管理(二)
控制元件使用方法: 1、下拉樹: 作用:顯示的資料有層次 下拉樹控制元件截圖: 第一步:資料庫 程式碼: if @type='SelectBusinessStatus' begin SELECT BusinessStatusID AS YeWuZhuan
明源售樓系統技術解析 銷售控制(三)
建立表格控制元件介面程式碼: <table class="easyui-datagrid" id="tbFangJianZiLiao" style="width:648px;height:442px" data-options="singleSelect:true,onClickCell:we,ro
明源售樓系統技術解析 銷售控制(更名查詢與變更查詢)
#region 刪除更名資料 public ActionResult Delete_Rename(int RenameID) { int i = myXiaoShouKongZhi.Delete_Rename(RenameID);//需要刪除的那
系統中日誌的管理(二)
1.日誌的遠端同步 (1)日誌的傳送方:輸入命令,更改檔案配置,將指定的日誌傳送給接收方,其中有兩種協議傳送,一種為upd,另一種為tep協議,兩種協議傳送方式不同,更改時要注意 vim /etc/rsyslog.conf *.*
Java源碼解析——集合框架(二)——ArrayBlockingQueue
not 結構 AS ray false 元素 模式 -- ins ArrayBlockingQueue源碼解析 ArrayBlockingQueue是一個阻塞式的隊列,繼承自AbstractBlockingQueue,間接的實現了Queue接口和Collection接口
深入分析Java Web技術內幕讀書筆記(二)淺析DNS域名解析過程
上一篇文章《淺析Web請求過程》講述的是如何發起HTTP請求,對於請求發起過程中很重要的一個步驟——DNS解析過程的描述是一帶而過,本篇文章將跟著DNS解析過程來分析域名是如何解析的。 一、DNS域名解析步驟 下圖是DNS域名解析的一個示例圖,它
NFC技術:使用Android Beam技術傳輸文件(二)
imp 圖片 .com fault gen catch ret generate puts 1 public class MainActivity extends ActionBarActivity implements 2 CreateBeamUr
Linux系統管理(二)(網絡服務)
網絡服務 linux redhat 紅帽 點擊下載:Linux系統管理(二)(網絡服務)本文出自 “飛奔的魚兒” 博客,請務必保留此出處http://feiyuer.blog.51cto.com/6967044/1931978Linux系統管理(二)(網絡服務)
【SpringMVC架構】SpringMVC入門實例,解析工作原理(二)
rip 業務邏輯層 popu 輸入 implement override article hide -i 上篇博文,我們簡單的介紹了什麽是SpringMVC。這篇博文。我們搭建一個簡單SpringMVC的環境,使用非註解形式實現一個HelloWorld實
操作系統之進程管理(2)
操作 交叉 管理 臨界資源 uid 臨界區 http 系統 php 進程管理(course 2) 一、進程互斥 由於進程具有獨立性和異步性等並發特征,計算機的資源有限,導致了進程之間的資源競爭和共享,也導致了對進程執行過程的制約。 1、臨界資源和臨界區(臨界部分) 臨界資源
Linux用戶管理(二)Linux系統安裝
linux安裝 1、RedHatLinux安裝前準備硬件要求CPU:Intel、ADM、VIA兼營內存:SDRAM、EDO和DDR,建議容量在128MB以上,最大4GB硬盤:接口類型(IDE、SCSI、USB)、自由空間(最小:500MB、完全安裝:4.5G)網卡:一塊或多塊顯卡:VGAhttp://hard
Linux系統管理----存儲管理(二)
運維 系統 創建文件系統----分區格式化 格式化 低級格式化:磁盤初始化,磁道劃分; 高級格式化:創建或重建文件系統;按照某種特定的標準,將整個分區劃分為大小相同的若幹小的邏輯編址單元,每個這樣的單元,稱為塊(Block);window中稱為:簇 劃分
大型站點技術架構閱讀筆記(二)
UC link style views body HR markdown img tle 1、 2、 3、 4、 5、 6、 7、
手把手,嘴對嘴,講解UCOSII嵌入式操作系統的初始化過程(二)
同學 save sam 嵌入式操作系統 相關信息 trie allow 狀態 cos 本章重點講解空閑任務的建立過程。 任務建立函數定義如下: 1 INT8U OSTaskCreate (void (*task)(void *p_arg), 2
聊聊高併發系統之限流特技(二)(轉)
上一篇《聊聊高併發系統限流特技-1》講了限流演算法、應用級限流、分散式限流;本篇將介紹接入層限流實現。 接入層限流 接入層通常指請求流量的入口,該層的主要目的有:負載均衡、非法請求過濾、請求聚合、快取、降級、限流、 A/B 測試、服務質量監控
linux 系統呼叫open 七日遊(二)
接著昨日的旅程,我們應該開始處理具體的子路徑了: 【fs/namei.c】 sys_open->do_sys_open->do_filp_open->path_openat->link_path_walk 點選(此處)摺疊或開啟 &n
系統中日誌的管理(一)
系統中日誌檔案通常可以幫助我們看到過去或正在執行的程序,系統中的指定程式會對這些程序進行採集,然後把他們輸送到指定的目錄中去。 1.rsyslog 小例子: 重啟以下ssh服務 輸入命令:cat systemctl status rsyslog.service,系統重會出現ssh啟
【Spark核心原始碼】解析“spark-shell”(二)
接著【初探Spark核心】解析“spark-shell”(一)來看 根據main的執行日誌來看,我們直接看一下org.apache.spark.repl.Main.main方法: main方法中建立了SparkILoop物件,作為引數傳遞給了doMain方法,並呼叫了doMain
ItemDecoration深入解析與實戰(二)—— 實際運用
一 概述 這是這個系列的第二篇文章,第一篇 ItemDecoration深入解析與實戰(一)——原始碼分析 是偏原理性的,而這篇是偏應用性的。沒看過上一篇文章對閱讀此文也基本沒多大影響,不過了解原理會加深對本文Demo的理解。 這篇文章將會實現上篇文章最後說的幾個實戰點,包括: (Lin
mybatis原始碼-解析配置檔案(二)之解析的流程
1. 簡介 在之前的文章《mybatis 初步使用(IDEA的Maven專案, 超詳細)》中, 講解了mybatis的初步使用, 並總結了以下mybatis的執行流程: 通過 Resources 工具類讀取 mybatis-config.xml,