And my coding is bellow.
Model
public class KalbizOLEUserModel
{
[Required(ErrorMessage = "Key is required")]
[Column(Order = 0)]
[Display(Name = "Key")]
public int UserKey { get; set; }
[Display(Name = "User Name")]
public string UserName { get; set; }
[Display(Name = "Email")]
public string Email { get; set; }
[Display(Name = "Email Confirmed")]
public bool EmailConfirmed { get; set; }
}
Controller
public class SystemUsersController : Controller
{
string conString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
[HttpGet]
public ActionResult Index()
{
BuildGrid();
return View();
}
public JsonResult BuildGrid()
{
List<KalbizOLEUserModel> SystemUsers = new List<KalbizOLEUserModel>();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT UserKey,UserName, Email, EmailConfirmed FROM AspNetUsers ORDER BY UserKey ASC", con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
SystemUsers.Add(new KalbizOLEUserModel()
{
UserKey = Convert.ToInt32(reader.GetValue(0)),
UserName = reader.GetString(1),
Email = reader.GetString(2),
EmailConfirmed = Convert.ToBoolean(reader.GetValue(3)),
});
}
ViewBag.griddata = SystemUsers;
}
}
con.Close();
}
return Json(SystemUsers, JsonRequestBehavior.AllowGet);
}
public Object SaveData(string data, Int32 a)
{
var gridData = JsonConvert.DeserializeObject(data);
SqlCommand cmd = new SqlCommand();
SqlConnection conn = null;
conn = new SqlConnection(conString);
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_web_SystemUser_Activate";
IList<KalbizOLEUserModel> UserList = JsonConvert.DeserializeObject<List<KalbizOLEUserModel>>(data);
for (int i = 0; i < UserList.Count; i++)
{
cmd.Parameters.AddWithValue("@UserKey", DbType.Int32).Value = UserList[i].UserKey;
cmd.Parameters.AddWithValue("@EmailConfirmed", DbType.Boolean).Value = UserList[i].EmailConfirmed;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
conn.Close();
return gridData;
}
}
View
@{
ViewBag.Title = "Index";
}
@model KalbizCat_OLE.Models.KalbizOLEUserModel
<script type="text/javascript">
function btnClick() {
var obj = $("#FlatGrid").ejGrid("instance");
obj.batchSave();
var gridmodel = $("#FlatGrid").ejGrid("model");
var data = JSON.stringify(gridmodel.dataSource);
// alert(data);
$.ajax({
url: '/SystemUsers/SaveData',
type: 'post',
data: { data: data, a:1 },
success: function (data) {
alert('Successfully Saved..!');
}
})
}
</script>
<table style="width:100%">
<tr>
<td>
@Html.EJ().Button("Save").Text("Save").ShowRoundedCorner(true).Size(ButtonSize.Normal).ContentType(ContentType.ImageTextImage).PrefixIcon("e-icon e-save").ClientSideEvents(e => e.Click("btnClick"))
</td>
<td align="right"><h2>System Users</h2></td>
</tr>
<tr></tr>
</table>
<hr />
@(Html.EJ().Grid<KalbizCat_OLE.Models.KalbizOLEUserModel>("FlatGrid")
.Datasource(datasource => datasource.Json((IEnumerable<object>)ViewBag.griddata))
.AllowPaging()
.PageSettings(Page => Page.PageSize(12))
.AllowSorting()
.AllowFiltering()
.FilterSettings(d => d.FilterType(FilterType.FilterBar))
.EditSettings(edit => edit.AllowEditing().AllowAdding().EditMode(EditMode.Batch))
.Columns(col =>
{
col.Field(p => p.UserKey).HeaderText("Key").Width(50).IsPrimaryKey(true).AllowEditing(false).TextAlign(TextAlign.Left).Add();
col.Field(p => p.UserName).HeaderText("User Name").Width(200).AllowEditing(false).TextAlign(TextAlign.Left).Add();
col.Field(p => p.Email).HeaderText("Email").AllowEditing(false).TextAlign(TextAlign.Left).Add();
col.Field(p => p.EmailConfirmed).HeaderText("Email Confirmed").TextAlign(TextAlign.Center).EditType(EditingType.BooleanEdit).Add();
})
)
Thanks.
Kalum
|
@(Html.EJ().Grid<object>("FlatGrid")
.Datasource((IEnumerable<object>)ViewBag.dataSource)
.AllowPaging()
.PageSettings(paging => paging.PageSize(3))
.AllowFiltering()
.AllowSorting()
...
|