How do you go about adding images and links to the grid. We are using asp.net with json datasource.
Thanks
Sy
triffle said: Can someone point me to an example of the doing this one the client side as I'm not having much luck finding what I'm looking for...
triffle said:I did find the "features" section of the igGrid, but setting a column's "editorType" to 'button' does not produce a column of buttons.
Here's an example of my current grid: $("#SearchResults").igGrid({ autoGenerateColumns: false, columns: [ { headerText: "Id", key: "Id", width: "80px", dataType: "string" }, { headerText: "Name", key: "EntityName", width: "140px", dataType: "string" }, { headerText: "Address", key: "EntityAddress1", width: "160px", dataType: "string" }, {headerText: "City", key: "EntityCity", width: "80px", dataType: "string" }, { headerText: "State", key: "EntityState", width: "30px", dataType: "string" }, { headerText: "Zip", key: "EntityZip", width: "55px", dataType: "string" }, { headerText: "DOB", key: "DateOfBirth", width: "60px", dataType: "date" }, { headerText: "Phone", key: "HomePhone", width: "80px", dataType: "string" } ], dataSourceType: 'json', dataSource: obj, height: '300px', features: [ { name: 'Sorting', type: "local", columnSettings: [ { columnKey: "EntityName", currentSortDirection: "ascending" }, { columnKey: "SelectEntity", editorType: 'button' } ] }, ] });
Related to this, I'm simply trying to add a button column to "select" the row. Right now the row can be selected by double clicking, which then autofills out some fields on the form. Can someone point me to an example of the doing this one the client side as I'm not having much luck finding what I'm looking for... I did find the "features" section of the igGrid, but setting a column's "editorType" to 'button' does not produce a column of buttons. In fact it throws an error...
I appreciate any references, etc.
Thanks Martin.
that's work!!
this is the image of my igGrid:
Then I leave the code used, with the features: Sorting, Filtering, Selection, Row Template, Paging, plus methods to obtain the value of the selected cell.
@model IQueryable<CxcModels.Models.tblPaises>@using Infragistics.Web.Mvc;
@{ ViewBag.Title = "Catalogo de Pais"; Layout = "~/Views/Shared/_Layout.cshtml";} <script type="text/javascript">
function crear() {
var adress = '@Url.Action("Create")'; window.location = adress; }
function editar() {
var cell = $('#gridPaises').igGridSelection('selectedCell'); var dataview = $('#gridPaises').data('igGrid').dataSource.dataView(); if (cell == null) { window.alert("Debe Seleccionar un renglon de la tabla.") return; } var cellRowId = dataview[cell.rowIndex]["idPais"]; var adress = '@Url.Action("Edit")' + "/" + cellRowId; window.location = adress;
} function detalle() {
var cell = $('#gridPaises').igGridSelection('selectedCell'); var dataview = $('#gridPaises').data('igGrid').dataSource.dataView(); if (cell == null) { window.alert("Debe Seleccionar un renglon de la tabla.") return; } var cellRowId = dataview[cell.rowIndex]["idPais"]; var adress = '@Url.Action("Details")' + "/" + cellRowId; window.location = adress;
}
function eliminar() {
var cell = $('#gridPaises').igGridSelection('selectedCell'); var dataview = $('#gridPaises').data('igGrid').dataSource.dataView(); if (cell == null) { window.alert("Debe Seleccionar un renglon de la tabla.") return; } var cellRowId = dataview[cell.rowIndex]["idPais"]; var adress = '@Url.Action("Delete")' + "/" + cellRowId; window.location = adress;
} </script>
<h2>Catalogo de Pais</h2>@using (Html.BeginForm("Index", "Paises")){ <img alt="Agregar Pais" src="@Url.Content("~/Content/Iconos/AGREGARM.png")" onclick="crear()" /> <br /> <br /> @(Html.Infragistics().Grid(Model).ID("gridPaises").AutoGenerateColumns(false).PrimaryKey("idPais").FixedHeaders(true).AutoGenerateLayouts(false) .JQueryTemplating(true) .RowTemplate("<tr><td><img alt='Editar' onclick='editar()' src='../../../../Content/Iconos/modificarTable.png' /></td><td><img alt='Detalle' onclick='detalle()' src='../../../../Content/Iconos/consultarTabla.png' /></td><td>${idPais}</td><td>${Nombre}</td></tr>") .Columns(column => { column.For(x => x.idPais).HeaderText(" ").Width("30px").Column.Key = "Editar"; column.For(x => x.idPais).HeaderText(" ").Width("30px").Column.Key = "Detalle"; column.For(x => x.idPais).DataType("string").HeaderText("idPais").Width("380px"); column.For(x => x.Nombre).DataType("string").HeaderText("Nombre").Width("430px"); }) .Features(features => { features.Sorting().ColumnSettings(settings => { settings.ColumnSetting().ColumnKey("Editar").AllowSorting(false); settings.ColumnSetting().ColumnKey("Detalle").AllowSorting(false); settings.ColumnSetting().ColumnKey("idPais").AllowSorting(true); settings.ColumnSetting().ColumnKey("Nombre").AllowSorting(true); }); features.Selection().Mode(SelectionMode.Cell).MultipleSelection(false); features.Paging().PageSize(10).FirstPageLabelText("").FirstPageTooltip("Ir a primera pagina").PrevPageLabelText("").PrevPageTooltip("Ir a pagina Anterior").ShowPagerRecordsLabel(false) .LastPageLabelText("").LastPageTooltip("Ir a Ultima pagina").NextPageLabelText("").NextPageTooltip("Ir a Siguiente pagina").PageSizeDropDownLabel("Mostrar").PageSizeDropDownTrailingLabel("Registros"); features.Filtering().FilterButtonLocation(Location.Left) .ColumnSettings(settings => { settings.ColumnSetting().ColumnKey("Editar").AllowFiltering(false); settings.ColumnSetting().ColumnKey("Detalle").AllowFiltering(false); settings.ColumnSetting().ColumnKey("idPais").AllowFiltering(true).FilterCondition("startsWith"); settings.ColumnSetting().ColumnKey("Nombre").AllowFiltering(true).FilterCondition("startsWith"); }); }) .Height("350") .DataSourceUrl(Url.Action("Index")) .DataBind().Render() )
I hope that helps somewhat!.
Regards.
Thanks Martin
Hello ckorrat,
I was able to workaround the problem.
Simply speaking you have to change the keys of the columns with links (because 3 columns has the same keys) and then use the columnSettings to disable sorting and filtering for these two columns by key.
Your code for the columns definition should look like this:
Your code for the Features definition should look like this:
Hope this helps,Martin PavlovInfragistics, Inc.