小编gar*_*lur的帖子

在dataSource.read之后获取Kendo Grid中的记录数

我希望能够在读取(刷新)后从我的Kendo网格中推送记录数.

这是我的剑道网格:

    @(Html.Kendo().Grid(Model)
      .Name("SearchWindowGrid")
      .Columns(columns =>
          {
              columns.Bound(p => p.SYSTEM_ITEMS_SEGMENT1).Hidden();
          })
      .ClientRowTemplate(
          "<tr>" +
            "<td>" +
                "<span><b>#: SYSTEM_ITEMS_SEGMENT1#</b></span>&nbsp;<br/>" +
                "<span>#: DESCRIPTION# </span>" +
            "</td>" +
          "</tr>"
      )
      .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("PopulateSearchWindow", "Item").Data("additionalSearchWindowInfo"))
        .Events(ev => ev.Error("onErrorSearchWindow"))
      )
      .Selectable(s => s.Enabled(true).Mode(GridSelectionMode.Single).Type(GridSelectionType.Row))
      .Scrollable(s => s.Enabled(true).Height(450))
  )
Run Code Online (Sandbox Code Playgroud)

我的控制器动作:

    public ActionResult PopulateSearchWindow([DataSourceRequest] DataSourceRequest request, string option, string searchText, string searchDesc)
    {
        try
        {
            var derps= _idg.SearchItems(searchText, searchDesc, _adg.OrganizationCode).ToList();

            return Json(derps.ToDataSourceResult(request, ModelState));
        }
        catch (Exception e)
        {
            ModelState.AddModelError("ExceptionErrors", e.Message);
            return Json(new List<Derp>().ToDataSourceResult(request, ModelState)); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery asp.net-mvc-4 kendo-ui kendo-grid

17
推荐指数
2
解决办法
6万
查看次数

C#try catch继续执行

我有一个看似相当简单的问题(当然,如果你知道答案).

我调用了另一个函数的某个函数但是我想继续从调用者执行,即使被调用者抛出异常.让我给你举个例子:

something function1()
{
    try
    {
        //some code
        int idNumber = function2();
        //other code that need to execute even if function2 fails
        return something;
    }
    catch(Exception e)
    {//... perhaps something here}
}
Run Code Online (Sandbox Code Playgroud)

编辑:function1也有一个return语句,所以事实上没有任何东西可以崩溃

在function2中我需要做的事情,但我只需要记录是否有任何失败,例如:

int function2()
{
    try
    {
        //dostuff
    }
    catch(Exception e)
    {
        //Log stuff to db
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,现在我的问题是,如果我想在function1中继续执行,即使函数2抛出错误,我该怎么办?

如果我应该扔掉,有时我会混淆; 或扔e; 或者什么都不扔(留下挡块空)

c# try-catch

15
推荐指数
3
解决办法
10万
查看次数

在MVC3中的Ajax.Beginform中调用自定义确认对话框

我希望能够使用自定义jquery对话框,或者至少能够在Ajax.Beginform函数中使用AjaxOptions.Confirm属性时将按钮的文本从OK/Cancel更改为其他内容.像这样:

<div>
    @using (Ajax.BeginForm("Function", "Controller", new { id = theId }, new AjaxOptions
        {
            HttpMethod = "POST",
            UpdateTargetId = "theForm",
            InsertionMode = InsertionMode.Replace,
            LoadingElementId = "iconGif",
            OnBegin = "OnBegin",
            OnFailure = "OnFailure",
            OnSuccess = "OnSuccess",
            Confirm = "Are you sure?" //TODO: Confirm with different dialog?
        }, new { id = "feedback-form" }))
    {
        //Some stuff
        <button onclick="derp()">Submit</button>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法通过AjaxOptions.Confirm属性使用Ajax.Beginform实现这一点?

ajax asp.net-mvc jquery razor asp.net-mvc-3

10
推荐指数
2
解决办法
8153
查看次数

如何使用javascript函数调用MVC中的URL操作?

我试图在MVC项目中使用javascript渲染url动作.我在我的页面上捕获了一个调用此函数的事件,但我不知道如何调用此特定URL.

有人可以帮我吗?:)

function onDropDownChange(e) {
    var url = '/Home/Index/' + e.value;
    //What now...?
}
Run Code Online (Sandbox Code Playgroud)

-----------编辑-----------------------

这是我的控制器动作:

    public ActionResult Index(int? id)
    {
        var tmpToday = DateTime.Now;
        var today = new DateTime(tmpToday.Year, tmpToday.Month, tmpToday.Day, 0, 0, 0);

        if (id != null)
        {
            var num = id.GetValueOrDefault();
            var rentableUnits = new List<Unit>();
            _unitLogic.GetAllRentableUnitsByArea(num, rentableUnits);

            var allAvailabilities = new ShowAvailability[rentableUnits.Count];

            for (int i = 0; i < rentableUnits.Count; i++)
            {
                var sTime = GetFirstDayOfMonth(today);
                var eTime = GetLastDayOfMonth(today);
                allAvailabilities[i] = new ShowAvailability(sTime, eTime.AddHours(23.0).AddMinutes(59.0), rentableUnits); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery razor

9
推荐指数
2
解决办法
13万
查看次数

Kendo Grid滚动到选定的行

我希望能够调用一个将Kendo网格滚动到所选行的函数.我已经尝试了一些方法,但没有一个方法有效,

比如我试过这个:

var grid = $("#Grid").data("kendoGrid"),
    content = $(".k-grid-content");
content.scrollTop(grid.select());
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

var gr = $("#Grid").data("kendoGrid");
var dataItem = gr.dataSource.view()[gr.select().closest("tr").index()];
var material = dataItem.id;
var row = grid.tbody.find(">tr:not(.k-grouping-row)").filter(function (i) {
    return (this.dataset.id == material);
});
content.scrollTop(row);
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?:)

---编辑---

由于其他原因,我无法绑定到更改事件,因此我必须能够调用函数将列表滚动到所选行.这就是我试着用@Antonis为我提供的答案.

var grid = $("#Grid").data("kendoGrid")
grid.element.find(".k-grid-content").animate({  
    scrollTop: this.select().offset().top  
 }, 400);
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,它在列表中向下滚动但不向所选行滚动.我通过调用scrollTop以错误的方式使用网格对象吗?

这个也是:

var grid = $("#ItemGrid").data("kendoGrid");
grid.scrollToSelectedRow = function () {
    var selectedRow = this.select();
    if (!selectedRow) {    
        return false;    
    }
    this.element.find(".k-grid-content").animate({
        scrollTop: selectedRow.offset().top  
    }, 400);
    return true;
    };

grid.scrollToSelectedRow();
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery asp.net-mvc-4 kendo-ui kendo-grid

9
推荐指数
2
解决办法
2万
查看次数

使Kendo Datepicker只读,但也可以选择

我一直在努力使我的Kendo Datepicker没有用户文本输入,我提出的唯一解决方案就是将标签设为"readonly".但是我希望能够使用鼠标从选择器中选择日期,而无法直接将文本输入到选择器,因此使得日期选择器只能读取但可选择.

有什么想法?

                <div>
                    @(Html.Kendo().DatePicker()
                          .Start(CalendarView.Year)
                          .Name("DatePicker")
                          .Value(DateTime.Now.AddDays(-365))
                          .Max(DateTime.Now)
                          .HtmlAttributes(new { style = "width: 125px;"  })
                          .Events(e => e.Change("onDateChange")))
                </div>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc telerik asp.net-mvc-4 kendo-ui kendo-asp.net-mvc

5
推荐指数
1
解决办法
7291
查看次数

在Razor中两个级别的Kendo小部件,内联标记块不能嵌套

我试图实现两级深度的Kendo小部件,但是Razor引擎一直在抱怨:"内联标记块(@Content)不能嵌套.只允许一级内联标记."

有没有办法让Razor引擎将帮助器呈现两层深度?

我的代码示例:

@(Html.Kendo().TabStrip()
  .Name("tabStrip")
  .Items(tabstrip =>
      {
          tabstrip.Add().Text("Strip1")
                  .Selected(true)
                  .Content(@<text>
                                @RenderPanelBar()
                            </text>);
          tabstrip.Add().Text("Strip2")
                  .Content(@<text>

                            </text>);
      })
)

@helper RenderPanelBar(){
@(Html.Kendo().PanelBar()
      .Name("panelBar")
      .ExpandMode(PanelBarExpandMode.Single)
      .Items(panelbar =>
          {
              panelbar.Add().Text("panel1")
                      .Expanded(true)
                      .Content(@<div>
                                    <div>
                                        @(Html.Kendo().Grid<GroupViewModel>()
                                              .Name("GroupGrid")
                                              .Columns(columns =>
                                                  {
                                                      columns.Bound(c => c.GroupID).Hidden();
                                                      columns.Bound(c => c.Name);
                                                      columns.Command(command => { command.Edit(); command.Destroy(); });
                                                  })
                                              .ToolBar(toolbar =>
                                                  {
                                                      toolbar.Create();
                                                      toolbar.Template(@<text>
                                                                            @RenderDropDown()  //<-- here the error occurs
                                                                        </text>);
                                                  } 
                                              )
                                              .Editable(editable => editable.Mode(GridEditMode.InLine))
                                              .Scrollable(s => s.Enabled(false))
                                              .Selectable(s => s.Enabled(true).Mode(GridSelectionMode.Single))
                                              .DataSource(dataSource => dataSource
                                                                            .Ajax()
                                                                            .Read(read => read.Action("Group_Grid_Read", "Home")) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-4 kendo-ui razorengine

5
推荐指数
1
解决办法
4294
查看次数

将两个html选项与jquery结合使用

有可能两个在jquery中结合两个html选择吗?

var derp1 = $('#derp1').html();
var derp2 = $('#derp2').html();

var combDerp = derp1.add(derp2);

$('#derpina').html(combDerp);
Run Code Online (Sandbox Code Playgroud)

我想将html的两个特定部分显示为一个,并将其显示在页面的另一部分中.任何帮助都很赞赏:)

javascript jquery

3
推荐指数
1
解决办法
4041
查看次数

Kendo DatePicker 文化无法正常工作

我想将 Kendo Datepicker 本地化为我的文化“is-IS”,但由于某种原因它不能\xc2\xb4t 正常工作。这是代码示例:

\n\n
$("#RegisterDatePicker").kendoDatePicker({\n    start: "month",\n    culture: "is-IS",\n    value: new Date(),\n    format: "dd.MMMM yyyy",\n    events: {\n        change: "registerDatePicker_OnChange"\n    }\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

该文化似乎恢复到其默认本地化“en-US”。我知道这种文化应该与 Datepicker 一起使用,因为每当我在 Razor 引擎中声明 Datepicker 时,它都会正确呈现。Here\xc2\xb4s 来自 Razor 的代码示例:

\n\n
@(Html.Kendo().DatePicker()\n  .Name("RegisterDatePicker")\n  .Start(CalendarView.Month)\n  .Value(DateTime.Now)\n  .Format("dd.MMMM yyyy")\n  .Events(e => e.Change("registerDatePicker_OnChange"))\n  .Culture("is-IS")\n)\n
Run Code Online (Sandbox Code Playgroud)\n\n

谁能指出我的日期选择器的脚本声明有什么问题吗?

\n

asp.net-mvc culture razor kendo-ui kendo-asp.net-mvc

2
推荐指数
1
解决办法
1万
查看次数

使用Ajax结果填充Kendo网格

我希望能够使用ajax调用的结果来决定我将填充哪个Kendo Grid.如果我只在数组中收到一个项目,我想填充网格,否则我有多个项目的另一个网格.

我的jQuery

    $.ajax({
        type: "POST",
        dataType: "json",
        url: 'Item/GetItems/',
        data: { number: number },
        success: function (data) {

            if (data.length == 1) {
                var sGrid = $("#SingleGrid").data("kendoGrid").dataSource.data(data);

                //I´ve also tried this
                //sGrid.refresh();
            }
            else {
                var mGrid = $("#MultipleGrid").data("kendoGrid").dataSource.data(data);

                //I´ve also tried this
                //mGrid .refresh();
            }
        },
        error: function () {
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的控制器动作

    public ActionResult GetItems([DataSourceRequest] DataSourceRequest request, string number)
    {
        var items = _idg.GetItems(number);
        return Json(items.ToDataSourceResult(request, ModelState));
    }
Run Code Online (Sandbox Code Playgroud)

我一直在监控Firebug,它没有显示任何错误.我试图通过决定填充其中一个网格来阻止对服务器的第二次调用.有没有办法像这个客户端那样强制dataSource刷新?(不调用dataSource上的read函数,它将第二次调用服务器)

###### EDITED ########

function TestGrid() {
    var dataSource …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery asp.net-mvc-4 kendo-ui kendo-grid

1
推荐指数
1
解决办法
2万
查看次数

使用Jquery选中/取消选中多个复选框

我一直被困在一个小问题上,这可能只是我看不到的小问题.我有一个PartialView,我想能够检查一个复选框,它应该取消选中所有其他复选框.我只想在提交页面之前检查一个复选框.

无论如何,这是我的代码示例:

这是我的PartialView

@model List<int>
@foreach (var element in Model)
{
    <div id="AddedProductImages">
        <img src="@Url.Action("RetrieveFile", "File", new { id = element })"     alt="@element" width="125px;" />
    <input type="checkbox" name="PrimaryImage" onchange="PrimaryImageChkBox('@element')" id="PrimaryCheckbox'@element'"/>
</div>
}
Run Code Online (Sandbox Code Playgroud)

这是我的Jquery功能

我不能先取消选中,然后在第二行告诉点击复选框进行检查吗?

function PrimaryImageChkBox(id) {
    alert(id);
    $('input[name=PrimaryImage]').removeAttr("checked");
    $('#PrimaryCheckbox' + id).attr('checked', "checked");
}
Run Code Online (Sandbox Code Playgroud)

先感谢您 :)

javascript asp.net-mvc jquery partial-views razor

0
推荐指数
1
解决办法
938
查看次数

在SQL中选择空周

我在几周内使用SQL中的DATEPART进行分组.但是,我想要包括空周,不仅仅包括数周.我有一个脚本可以完美地收集数周的数据,但不是空的周.我一直试图使用左外连接,但我的SQL技能并不是那么好.我决定问你们.

这是我的脚本:

select 
    DatePart(Year, MYTABLE.CREATION_DATE) as DateYear,
    DatePart(Month, MYTABLE.CREATION_DATE) as DateMonth,
    DatePart(Week, MYTABLE.CREATION_DATE) as DateWeek,
    sum(cast(MYTABLE.BASE_TRANSACTION_VALUE as int)) as Value,
    min(MYTABLE.CREATION_DATE) as DateT
from MYTABLE
where MYTABLE.SEGMENT2 like '00601'
    and MYTABLE.SEGMENT4 like '%'
    and MYTABLE.CREATION_DATE > '2012-12-30 12:00:00'
    and MYTABLE.CREATION_DATE < '2013-12-30 11:00:00'
group by 
    DatePart(Year, MYTABLE.CREATION_DATE), 
    DatePart(Month, MYTABLE.CREATION_DATE), 
    DatePart(Week, MYTABLE.CREATION_DATE)
order by DateYear, DateMonth, DateWeek
Run Code Online (Sandbox Code Playgroud)

这是该脚本的结果.

在此输入图像描述

在这种情况下,你们可以给我一个加入条款的例子吗?

sql sql-server

0
推荐指数
1
解决办法
116
查看次数

SQL就像文本中的两个通配符一样

有没有办法用两个单词(或更多)创建一个where语句,但它们与给出的单词的顺序不一样?

select 
    i.ITEM_NUMBER as Item,
    min(i.ITEM_DESCRIPTION) as Description,
    i.ORGANIZATION_CODE as Org,
    max(m.MANUFACTURER_NAME) as Manufacturer,
    max(m.MANUFACTURERS_PARTNUMBER) as Partnumber
from mis.XXEAM_INVENTORY_REPORT_WITH_LOCATORS_CONSIGNED_MATERIAL_AND_CATEGORIES_TBL i
left outer join 
    mis.XXEAM_MANUFACTURING_PART_NUMBERS_TBL m on i.ITEM_NUMBER = m.ITEM_NUMBER
where 
    i.ITEM_DESCRIPTION like '%ALLEN BRADLEY%PLC%' 
group by i.ORGANIZATION_CODE, i.ITEM_NUMBER
Run Code Online (Sandbox Code Playgroud)

我想在上面的描述文本中搜索'%ALLEN BRADLEY%PLC%'或'%PLC%ALLEN BRADLEY%'.我想避免使用OR语句,因为数据集很大并且查询可能需要很长时间.

通配符可以超过两个,我只以这两个为例.在我看来,我会更喜欢为第一个单词获取数据集,然后从该数据集中获取第二个单词.也许唯一的方法是选择进入临时表.

sql sql-server wildcard sql-like

0
推荐指数
1
解决办法
132
查看次数