gpt4 book ai didi

javascript - DevExpress MVC GridView 刷新

转载 作者:行者123 更新时间:2023-11-29 15:37:18 25 4
gpt4 key购买 nike

我需要在操作后在 ajax 成功函数中刷新 DevExpress GridView。我正在使用 gridName.Refresh() 方法,但 javascript 抛出“udefined 不是函数”错误。但是当我将此方法写入 Google Chrome 控制台窗口时,它工作正常。问题是什么?此外,我的 javascript 代码在不同的 JavaScript 文件中,而不是在 html 代码中。

This is my jquery ajax codes that in the seperated javascript file

function sendToMethod(url) {
$.ajax({
type: 'GET',
url: url,
contentType: 'application/html; charset=utf-8',
datatype: 'html'
})
.success(function (result) {
onCloseClick();
gv_locations.UnselectRows();//gv_locations is not defined
gv_locations.Refresh();//there is the same error here too
})
.error(function (result) {

});
}

This is my GridViewPartial.cshtml file

@Html.DevExpress().GridView(g =>
{
g.Name = "gv_locations";
g.KeyFieldName = "PublicIP";
g.SettingsPager.PageSize = 21;
g.Width = System.Web.UI.WebControls.Unit.Percentage(100);
g.ClientSideEvents.SelectionChanged = "onGridSelectionChanged";
g.SettingsEditing.Mode = GridViewEditingMode.EditFormAndDisplayRow;

g.CommandColumn.Visible = true;
g.Settings.ShowGroupPanel = true;
g.CommandColumn.ShowEditButton = true;
g.CommandColumn.ShowDeleteButton = true;
g.CommandColumn.ShowSelectCheckbox = true;
g.SettingsBehavior.AllowFocusedRow = true;
g.CallbackRouteValues = new { Controller = "Location", Action = "LocationGridViewPartial", id = ViewBag.Type };

g.SettingsEditing.UpdateRowRouteValues = new { Controller = "Location", Action = "LocationGridViewInlineUpdate" };
g.SettingsEditing.DeleteRowRouteValues = new { Controller = "Location", Action = "LocationGridViewInlineDelete" };

g.Columns.Add(column =>
{
column.Caption = "Client";
column.FieldName = "ClientID";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add(column =>
{
column.Caption = "IP";
column.FieldName = "PublicIP";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add("PublicIPName", "Lokasyon Adı");

g.Columns.Add(column =>
{
column.Caption = "Konum Tipi";
column.FieldName = "SelectedLocationTypeID";
column.ColumnType = MVCxGridViewColumnType.ComboBox;
var comboBoxProperties = column.PropertiesEdit as ComboBoxProperties;
comboBoxProperties.DataSource = AtomicAdminPanel.Models.External.Location.LocationDataProvider.GetLocationTypes();
comboBoxProperties.TextField = "SelectedLocationTypeName";
comboBoxProperties.ValueField = "SelectedLocationTypeID";
});

g.Columns.Add(column =>
{
column.Caption = "Oluşturan";
column.FieldName = "CreatedUser";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add(column =>
{
column.Caption = "Oluşturma Tarihi";
column.FieldName = "CreatedDateTime";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add(column =>
{
column.Caption = "Değiştiren";
column.FieldName = "ChangedUser";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add(column =>
{
column.Caption = "Değiştime Tarihi";
column.FieldName = "ChangedDateTime";
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
});

g.Columns.Add("IsActive", "Aktif", MVCxGridViewColumnType.CheckBox);

MVCxGridViewColumn col_listType = new MVCxGridViewColumn("LocationListType");
col_listType.Visible = false;

if (ViewBag.Id == "Online")
{
MVCxGridViewColumn col_online = new MVCxGridViewColumn("IsOnline", "Çevrimiçi", MVCxGridViewColumnType.Image);
col_online.SetDataItemTemplateContent(c =>
{
ViewContext.Writer.Write("<img src='../../Content/Image/statusOnline.png'/>");
});
g.Columns.Add(col_online);
}
}).Bind(Model).GetHtml()

最佳答案

首先,您应该编写 window.gv_locations,然后确保包含 js 脚本的 View 可以看到此网格( View 应包含网格和脚本)。如果有效,请给我答复。

关于javascript - DevExpress MVC GridView 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26314997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com