.ASP NET MVC+AgGird
界面演示:

Controller:
public ActionResult F1() { DataTable dt = new DataTable(); DataColumn dc1 = new DataColumn("ID",Type.GetType("System.Int32")); DataColumn dc2 = new DataColumn("Name", Type.GetType("System.String")); DataColumn dc3 = new DataColumn("Age", Type.GetType("System.Int32")); dt.Columns.Add(dc1); dt.Columns.Add(dc2); dt.Columns.Add(dc3); for (int i = 0; i < 5; i++) { DataRow dr = dt.NewRow(); dr["ID"] = i; dr["Name"] = "张三"; dr["Age"] = (i+i+1)*2; dt.Rows.Add(dr); } /* List<Person> lp = new List<Person>() { new Person() {Id=1,Name="张三",Age=14 }, new Person() {Id=2,Name="李四",Age=14 }, new Person() {Id=3,Name="王五",Age=14 }, }; object[] obj = new object[lp.Count]; for (int i = 0; i < lp.Count; i++) { obj[i] = lp[i]; } */ ViewBag.Data = Newtonsoft.Json.JsonConvert.SerializeObject(dt); return View(); }
view:(参考:http://www.itxst.com/ag-grid/tutorial.html)
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>ag-grid单行选中</title>
<script src="//www.itxst.com/package/ag-grid/ag-grid-community.js"></script>
<link href="//www.itxst.com/package/ag-grid/styles/ag-grid.css" rel="stylesheet" />
</head>
<body>
<input value="获取选中数据" type="button" onclick="getSelect()">
<div id="myGrid" style="width: 100%;height: 500px;" class="ag-theme-balham"></div>
<script>
//定义表格列
var columnDefs = [
{ headerName: '编号', field: 'ID','pinned': 'left', filter: 'agTextColumnFilter',checkboxSelection:true,headerCheckboxSelection:true
},
{ headerName: '姓名', field: 'Name' },
{ headerName: '年龄', field: 'Age' , filter: 'agNumberColumnFilter'}
];
//与列对应的数据; 属性名对应上面的field
var data =@Html.Raw(@ViewBag.Data) ; //必须用@Html.Raw 否则无法解析
var gridOptions = {
columnDefs: columnDefs,
rowSelection: 'multiple', //设置多行选中
rowMultiSelectWithClick:true,
rowDeselection:true,
rowData: data
};
var ag=null;
//在dom加载完成后 初始化agGrid完成
document.addEventListener("DOMContentLoaded", function () {
var eGridDiv = document.querySelector('#myGrid');
ag=new agGrid.Grid(eGridDiv, gridOptions);
});
function getSelect()
{
alert(JSON.stringify(gridOptions.api.getSelectedRows()));
}
</script>
</body>
</html>
浙公网安备 33010602011771号