=============================combobox綁定和擷取資料====================================
1、擷取選中的值
$('#comboboxlist').combobox('getValue'); //單選時
$('#comboboxlist').combobox('getValues'); //多選時
2、指派
$('#comboboxlist').combobox('setValue', '北京');
$('#cbbStatus').combobox({
url: '@Url.Action("GetHouseStatue", "HouseInfo")',
valueField: 'Value',
textField: 'Text',
onSelect: function (res) {
console.log(res);
}
});
<input id="cbbStatus" class="easyui-combobox" data-options="prompt:' - 選擇狀态 - '" editable="false" />
#region 擷取房源資訊狀态
public ActionResult GetHouseStatue()
{
//房源狀态0待稽核1稽核通過2稽核不通過3上架4下架
List<ComboboxData> models = new List<ComboboxData>();
models.Add(new ComboboxData() { Text = "待稽核", Value = "0" });
models.Add(new ComboboxData() { Text = "稽核通過", Value = "1" });
models.Add(new ComboboxData() { Text = "稽核不通過", Value = "2" });
models.Add(new ComboboxData() { Text = "上架", Value = "3" });
models.Add(new ComboboxData() { Text = "下架", Value = "4" });
return Json(models, JsonRequestBehavior.AllowGet);
}
#endregion
==========================================combotree綁定和擷取資料=================================
$(function () {
$("#cbt").combotree({
width: 175,
url: '@Url.Action("GetComboTreeJson", "Test")',
valueField: 'id',
textField: 'text',
editable: false
});
$("#btnSubmit").click(function () {
//擷取目前combotree的tree對象
var tree = $('#cbt').combotree('tree');
//擷取目前選中的節點
var data = tree.tree('getSelected');
//檢視目前選中節點的id
console.log("選擇的資料", data.id, data.text);
});
});
/// <summary>
/// 異步加載無限Tree
/// </summary>
/// <returns></returns>
[HttpPost]
public string GetComboTreeJson()
{
//easyui 會每展開一個節點,往後端傳一個id
string parentNodeId = RequestHelper.GetString("id") ?? null;
if (string.IsNullOrEmpty(parentNodeId))
{
parentNodeId = "0";
}
List<TreeModule> tree = GetSubNodes(parentNodeId, "module_fatherid","module_id", "module_name");
string JsonStr = JsonConvert.SerializeObject(tree);
return JsonStr;
}
/// <summary>
/// 擷取ComboTree方法
/// </summary>
/// <param name="parentNodeId">父節點資料</param>
/// <param name="fatherColumn">父節點字段名</param>
/// <param name="idColumn">ID字段名</param>
/// <param name="textColumn">TEXT字段名</param>
/// <returns></returns>
private List<TreeModule> GetSubNodes(string parentNodeId, string fatherColumn,string idColumn,string textColumn)
{
DataTable dt = CreateDT();
List<TreeModule> Tree = new List<TreeModule>();
TreeModule TM = null;
if (dt != null && dt.Rows.Count > 0)
{
DataRow[] rows = dt.Select(string.Format("{0} = '{1}'", fatherColumn, parentNodeId));
foreach (DataRow item in rows)
{
string id = item[idColumn].ToString();
string text = item[textColumn].ToString();
TM = new TreeModule();
DataRow[] IsNulRows = dt.Select(string.Format("{0} = '{1}'", fatherColumn, id));
if (IsNulRows.Length > 0)
{
//這個很關鍵,此節點為closed狀态,才可以展開,才能往背景傳你點選的id
//看到Combotree的異步加載Demo,發現treegrid_data.json中 state="closed" 屬性能把點選展開的節點Id傳到背景中
TM.state = "closed";
}
TM.id = id;
TM.text = text;
Tree.Add(TM);
}
}
return Tree;
}
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>HouseInfo資訊清單</title>
<link type="text/css" rel="stylesheet" href="/css/default.css" target="_blank" rel="external nofollow" />
<!--easyui-->
<link rel="stylesheet" type="text/css" href="/JS/jquery-easyui-1.5.5.5/themes/default/easyui.css" target="_blank" rel="external nofollow" />
<link rel="stylesheet" type="text/css" href="/JS/jquery-easyui-1.5.5.5/themes/default/tree.css" target="_blank" rel="external nofollow" />
<link rel="stylesheet" type="text/css" href="/JS/jquery-easyui-1.5.5.5/themes/icon.css" target="_blank" rel="external nofollow" />
<script type="text/javascript" src="/JS/jquery-easyui-1.5.5.5/jquery.min.js"></script>
<script type="text/javascript" src="/JS/jquery-easyui-1.5.5.5/jquery.easyui.min.js"></script>
<script src="/Js/jquery-easyui-1.5.5.5/locale/easyui-lang-zh_CN.js"></script>
<script src="~/Js/layer-v3.1.1/layer.js"></script>
<script src="~/Js/LayerExt.js"></script>
<script src="~/Js/JqueryExt.js"></script>
<script type="text/javascript">
$(function () {
$("#datagrid1").datagrid({
//title: "HouseInfo資訊清單",
url: "@Url.Action("GetList", "HouseInfo")",
striped: true, //交替行換色
rownumbers: true, //行号
pagination: true, //顯示底部分頁
fitColumns: true,//自動适應。先給列随便加個寬度
toolbar: "#tb",
pagePosition: "bottom", // top|bottom|both
pageSize: 15,
pageList: [15, 30, 50, 100],
singleSelect: true, //如果為true,則隻允許選擇一行。
checkOnSelect: false, //true,當使用者點選行的時候該複選框就會被選中或取消選中。
selectOnCheck: true, //true,單擊複選框将永遠選擇行。
onClickRow: function (index, row) {
//var d_id = row["UserID"];
//alert(d_id);
},
columns: [[
//{ field: 'HouseID', title: '主鍵ID', width: 120, align: 'center', sortable: true },
{ field: 'HouseName', title: '房源名稱', width: 120, align: 'center', sortable: true },
{ field: 'TypeID', title: '房源類型ID', width: 120, align: 'center', sortable: true },
{ field: 'PostUid', title: '釋出人ID', width: 120, align: 'center', sortable: true },
{ field: 'HouseRent', title: '房源租金', width: 120, align: 'center', sortable: true },
{ field: 'HouseUnit', title: '租金機關預設月', width: 120, align: 'center', sortable: true },
{ field: 'HouseArea', title: '房源面積預設平方米', width: 120, align: 'center', sortable: true },
{ field: 'ProvinceID', title: '省份ID', width: 120, align: 'center', sortable: true },
{ field: 'CityID', title: '城市ID', width: 120, align: 'center', sortable: true },
{ field: 'AreaID', title: '縣區ID', width: 120, align: 'center', sortable: true },
{ field: 'CircleID', title: '商圈ID', width: 120, align: 'center', sortable: true },
{ field: 'HouseStatue', title: '房源狀态0待稽核1稽核通過2稽核不通過3上架4下架', width: 120, align: 'center', sortable: true },
{ field: 'IsDeleted', title: '是否已删除0否1是', width: 120, align: 'center', sortable: true },
{ field: 'AddDate', title: '新增時間', width: 120, align: 'center', sortable: true },
{ field: 'OnsaleDate', title: '上架時間', width: 120, align: 'center', sortable: true },
{ field: 'IsTop', title: '是否已置頂', width: 120, align: 'center', sortable: true },
{ field: 'Dx', title: '操作', width: 120, align: 'center', formatter: formatOper }
]],
});
var p = $('#datagrid1').datagrid('getPager');
$(p).pagination({
beforePageText: '第',
afterPageText: '頁 共 {pages} 頁',
displayMsg: '目前顯示 {from}-{to} 條記錄,共 {total} 條記錄'
});
//擷取參數
function GetParas() {
var hstatus = $("#cbbStatus").combobox("getValue");
var cbbHouseType = $("#cbbHouseType").combobox("getValue");
var cbbProvince = $("#cbbProvince").combobox("getValue");
var cbbCity = $("#cbbCity").combobox("getValue");
var cbbArea = $("#cbbArea").combobox("getValue");
var txtPostMan = $("#txtPostMan").textbox("getValue");
var txtKeyword = $("#txtKeyword").textbox("getValue");
var para = {
hstatus: hstatus,
cbbHouseType: cbbHouseType,
cbbProvince: cbbProvince,
cbbCity: cbbCity,
cbbArea: cbbArea,
txtPostMan: txtPostMan,
txtKeyword: txtKeyword
};
console.log(para);
return para;
}
//查詢
$("#btnQuery").click(function () {
$('#datagrid1').datagrid('load', GetParas());
});
//清空
$("#btnClear").click(function () {
ClearForm();
});
//綁定房源資訊狀态
$('#cbbStatus').combobox({
url: '@Url.Action("GetHouseStatue", "HouseInfo")',
valueField: 'Value',
textField: 'Text',
onSelect: function (res) {
console.log(res);
}
});
//綁定房源類型
$('#cbbHouseType').combobox({
url: '@Url.Action("GetHouseType", "HouseInfo")',
valueField: 'Value',
textField: 'Text',
onSelect: function (res) {
console.log(res);
}
});
//加載省份
$('#cbbProvince').combobox({
url: "@Url.Action("GetPca", "HouseInfo")",
queryParams: { pId: 0 },
valueField: 'Value',
textField: 'Text',
onChange: function () {
var value = $(this).combobox('getValue');
console.log("==選擇省份==", value)
GetCity(value);
}
});
//加載城市
function GetCity(pId) {
$('#cbbCity').combobox({
url: "@Url.Action("GetPca", "HouseInfo")",
queryParams: { pId: pId },
valueField: 'Value',
textField: 'Text',
onChange: function () {
var value = $(this).combobox('getValue');
GetArea(value);
console.log("==選擇城市==", value)
}
});
}
//加載區域
function GetArea(pId) {
$('#cbbArea').combobox({
url: "@Url.Action("GetPca", "HouseInfo")",
queryParams: { pId: pId },
valueField: 'Value',
textField: 'Text',
onChange: function () {
var value = $(this).combobox('getValue');
console.log("==選擇區域==", value)
}
});
}
});
//自定義操作列
function formatOper(val, row, index) {
var str = "";
str += '<a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick="doShow(' + row.HouseID + ')">檢視</a>';
str += ' ';
str += '<a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick="doEdit(' + row.HouseID + ')">修改</a>';
str += ' ';
str += '<a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick="doDelete(' + row.HouseID + ')">删除</a>';
return str;
}
function doAdd() {
var url = "@Url.Action("Add", "HouseInfo")";
LayerOpen(url, "新增資訊", "800px", "600px")
}
function doShow(a) {
var url = "@Url.Action("Show", "HouseInfo")" + "?id=" + a;
LayerOpen(url, "檢視資訊", "800px", "600px")
}
function doEdit(a) {
var url = "@Url.Action("Edit", "HouseInfo")" + "?id=" + a;
LayerOpen(url, "修改資訊", "800px", "600px")
}
function doDelete(a) {
layer.confirm("确認删除?", { btn: ['确定', '取消'] }, function (index) {
$.ajax({
type: "post",
timeout: 3000,
url: "@Url.Action("Delete", "HouseInfo")",
data: { id: a },
dataType: "json", //傳回資料形式為json
success: function (result) {
if (result.success) {
$('#datagrid1').datagrid('reload')
layer.alert("删除成功!", { icon: 1 }, function () {
layer.closeAll();
});
}
},
error: function (errorMsg) {
layer.alert("資料操作失敗,請稍後重試!", { icon: 2 });
}
});
});
};
</script>
</head>
<body>
<div>
<table id="datagrid1"></table>
<div id="tb" class="datagrid_tb">
<a href="#" target="_blank" rel="external nofollow" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="doAdd()">新增房源</a>
<input id="cbbStatus" class="easyui-combobox" data-options="prompt:' - 選擇狀态 - '" editable="false" />
<input id="cbbHouseType" class="easyui-combobox" data-options="prompt:' - 房源類型 - '" editable="false" />
<input id="cbbProvince" class="easyui-combobox" data-options="prompt:' - 選擇省份 - '" editable="false" />
<input id="cbbCity" class="easyui-combobox" data-options="prompt:' - 選擇城市 - '" editable="false" />
<input id="cbbArea" class="easyui-combobox" data-options="prompt:' - 選擇縣區 - '" editable="false" />
<input id="txtPostMan" class="easyui-textbox" data-options="prompt:'釋出人名稱'" />
<input id="txtKeyword" class="easyui-textbox" data-options="prompt:'房源名稱'" />
<a href="javascript:void(0)" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" id="btnQuery" class="easyui-linkbutton" iconcls="icon-search">查詢</a>
<a href="javascript:void(0)" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" id="btnClear" class="easyui-linkbutton" iconcls="icon-clear">清空</a>
</div>
</div>
</body>
</html>
using CRM.Core.Dal;
using CRM.Core.Model;
using Magic.Tool;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using CRM.Other;
namespace SiteProject.Areas.Admin.Controllers
{
public class HouseInfoController : Controller
{
#region 擷取資料(一條)
/// <summary>
/// 擷取資料(一條)
/// </summary>
/// <returns></returns>
public ActionResult Show()
{
int id = Magic.Tool.RequestHelper.GetInt("id", 0);
var mode = DataRootBase.Context.From<HouseInfo>().Where(p => p.HouseID == id).ToFirstDefault();
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
ViewBag.Data = JsonConvert.SerializeObject(mode, timeFormat);
return View();
}
#endregion
#region 修改資料(一條)
[HttpGet]
public ActionResult Edit()
{
int id = Magic.Tool.RequestHelper.GetInt("id", 0);
var mode = DataRootBase.Context.From<HouseInfo>().Where(p => p.HouseID == id).ToFirstDefault();
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
ViewBag.Data = JsonConvert.SerializeObject(mode, timeFormat);
return View();
}
[HttpPost]
/// <summary>
/// 修改資料(一條)
/// </summary>
/// <returns></returns>
public ActionResult Edit(HouseInfo data)
{
var result = new Result();
try
{
int i = DataRootBase.Context.Update<HouseInfo>(data);
result.success = (i > 0) ? true : false;
}
catch (Exception ex)
{
result.success = false;
result.message = " 請檢查資料是否填寫正确";
}
return Json(result);
}
#endregion
#region 新增資料(一條)
[HttpGet]
public ActionResult Add()
{
var mode = new HouseInfo();
ViewBag.Data = mode;
return View();
}
[HttpPost]
/// <summary>
/// 新增資料(一條)
/// </summary>
/// <returns></returns>
public ActionResult Add(HouseInfo data)
{
var result = new Result();
try
{
data.HouseUnit = 1;
data.IsDeleted = false;
data.AddDate = DateTime.Now;
data.IsTop = false;
int i = DataRootBase.Context.Insert<HouseInfo>(data);
result.success = (i > 0) ? true : false;
}
catch (Exception ex)
{
result.success = false;
result.message = " 請檢查資料是否填寫正确";
}
return Json(result);
}
#endregion
#region 删除資料(一條)
[HttpPost]
/// <summary>
/// 删除資料(一條)
/// </summary>
/// <returns></returns>
public ActionResult Delete()
{
var result = new Result();
int id = Magic.Tool.RequestHelper.GetInt("id", 0);
try
{
int i = DataRootBase.Context.Delete<HouseInfo>(id);
result.success = (i > 0) ? true : false;
}
catch (Exception)
{
result.success = false;
}
return Json(result);
}
#endregion
#region 擷取資料(清單)
/// <summary>
/// 擷取資料(清單)
/// </summary>
/// <returns></returns>
public ActionResult List()
{
return View();
}
public ActionResult GetList()
{
string status = RequestHelper.GetString("hstatus");
string cbbHouseType = RequestHelper.GetString("cbbHouseType");
string cbbProvince = RequestHelper.GetString("cbbProvince");
string cbbCity = RequestHelper.GetString("cbbCity");
string cbbArea = RequestHelper.GetString("cbbArea");
string txtPostMan = RequestHelper.GetString("txtPostMan");
string txtKeyword = RequestHelper.GetString("txtKeyword");
int pageIndex = Magic.Tool.RequestHelper.GetInt("page", 0); //目前頁碼
int pageSize = Magic.Tool.RequestHelper.GetInt("rows", 0); //每頁顯示記錄數
string sort = Magic.Tool.RequestHelper.GetString("sort"); //排序字段名。
string order = Magic.Tool.RequestHelper.GetString("order"); //排序方式
//查詢參數
//string keyword = Magic.Tool.RequestHelper.GetString("keyword");
//string beginDate = Magic.Tool.RequestHelper.GetString("beginTime");
//string endDate = Magic.Tool.RequestHelper.GetString("endTime");
int TotalRecord = 0;
int TotalPage = 0;
string orderBy = string.Format("{0} {1}", sort, order); //排序
orderBy = string.IsNullOrWhiteSpace(orderBy) ? "HouseID" : orderBy;
//執行存儲過程
var result = DataRootBase.QueryPagingMssql<HouseInfo>("HouseInfo", "*", orderBy, pageIndex, pageSize, "", out TotalRecord, out TotalPage);
ResultEasyUI data = new ResultEasyUI();
data.total = TotalRecord;
List<JObject> list = new List<JObject>();
foreach (var item in result)
{
list.Add(JObject.FromObject(item));
}
data.rows = list;
//格式化時間
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
var JsonStr = JsonConvert.SerializeObject(data, timeFormat);
return Content(JsonStr);
}
#endregion
#region 傳回通知類
/// <summary>
/// 傳回通知類
/// </summary>
public class Result
{
public bool success { set; get; }
public string message { set; get; }
}
#endregion
#region 擷取房源資訊狀态
public ActionResult GetHouseStatue()
{
//房源狀态0待稽核1稽核通過2稽核不通過3上架4下架
var models = SiteCommonData.GetHouseInfoStatus();
return Json(models, JsonRequestBehavior.AllowGet);
}
#endregion
#region 擷取房源類型
public ActionResult GetHouseType()
{
var models = DataRootBase.Context.From<HouseType>().ToList();
List<ComboboxData> lists = new List<ComboboxData>();
foreach (var item in models)
{
lists.Add(new ComboboxData() { Text = item.TypeName, Value = item.TypeID.ToString() });
}
return Json(lists, JsonRequestBehavior.AllowGet);
}
#endregion
#region 擷取省市縣
/// <summary>
/// 擷取省市縣
/// </summary>
/// <param name="pId"></param>
/// <returns></returns>
public ActionResult GetPca(int pId)
{
var models = DataRootBase.Context.From<CRM.Core.Model.Areas>()
.Where(p => p.ParentId == pId).ToList();
var list = new List<ComboboxData>();
foreach (var item in models)
{
list.Add(new ComboboxData() { Value = item.Id.ToString(), Text = item.Name });
}
list.Insert(0, new ComboboxData { Value = "0", Text = "請選擇" });
return Json(list, JsonRequestBehavior.AllowGet);
}
#endregion
}
}