1

情報を表示するために、レイアウトにスプリッターがあります。

私の表示は良好ですが、 index.html (レイアウトで @RenderBody() によって呼び出される) にグリッドがあると、スプリッターがうまく表示されなくなりました...

スプリッターなしで、すべてが単一のページにあります...

何か案は ?

編集 :

うん、ごめん 。

私のコントローラーがあります:

public class HomeController : Controller
{
    private static string path = @"C:\LogIngesup\log.xml";

    public ActionResult Index()
    {
        DataTable logs = Write_Log.Read.loadXML(path);

        return View(logs);
    }
}

そこに私のレイアウト:

    <body>
@(Html.Kendo().Splitter()
      .Name("vertical")
      .Orientation(SplitterOrientation.Vertical)
      .Panes(verticalPanes =>
      {
          verticalPanes.Add()
              .HtmlAttributes(new { id = "middle-pane" })
              .Scrollable(false)
              .Collapsible(false)
              .Content(
                Html.Kendo().Splitter()
                    .Name("horizontal")
                    .HtmlAttributes(new { style = "height: 100%;" })
                    .Panes(horizontalPanes =>
                    {
                        horizontalPanes.Add()
                            .HtmlAttributes(new { id = "left-pane" })
                            .Size("230px")
                            .Resizable(false)
                            .Collapsible(true)
                            .Content(@<div>@RenderPage("~/Views/Home/Calendrier.cshtml")</div>);

                        horizontalPanes.Add()
                            .HtmlAttributes(new { id = "center-pane" })
                            .Content(@<div class="pane-content">
                                <section id="main">
                                    @RenderBody()
                                </section>
                            </div>);

                        horizontalPanes.Add()
                            .HtmlAttributes(new { id = "right-pane" })
                            .Collapsible(true)
                            .Size("220px")
                            .Content(@<div class="pane-content">
                                @RenderPage("~/Views/Home/XML.cshtml")
                            </div>);
                    }).ToHtmlString()
              );

          verticalPanes.Add()
              .Size("70px")
          .HtmlAttributes(new { id = "bottom-pane" })
          .Resizable(false)
          .Collapsible(true)
          .Content(@<div class="pane-content" style="text-align:center">
             <p>Application développée par : Dan</p>
          </div>);
      }))
</body>

そして最終的に私の index.html :

    @{
    ViewBag.Title = "LogApp";
}

@model System.Data.DataTable

@(Html.Kendo().Grid(Model)
    .Name("Grid")    
    .Columns(columns => {
        foreach (System.Data.DataColumn column in Model.Columns)
        {
            columns.Bound(column.DataType, column.ColumnName);     
        }
    })    
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
)

私は自分のコードに関する提案について認識しています:)

さらに、私は問題を抱えています:

これをグリッド (index.html) に追加しようとすると:

.DataSource(datasource=>datasource
    .Ajax()
    .PageSize(10)
)
.Selectable(selectable => selectable.Mode(GridSelectionMode.Single))

他のページに行けない、行を選択できない… 助けてくれませんか?

(URL : localhost\?Grid-page=2 を直接書き込むと機能します)

4

1 に答える 1

0

KendoUIスプリッターをKendoUIタブコントロール内に配置したときにも同じ問題が発生しました。

スプリッターの前にタブコントロールを作成した場合、この問題が発生していましたが、順序を逆にすると正常に機能しました。

つまり、私はから変更しました:

$(document).ready(function () 
{
    $("#ManagementMenu").kendoTabStrip();
    $("#splitter").kendoSplitter({
        panes: [
            { size: "200px", resizable: false},
            { size: "500px", collapsible: false}
        ],
    });
}

$(document).ready(function () 
{
    $("#splitter").kendoSplitter({
        panes: [
            { size: "200px", resizable: false},
            { size: "500px", collapsible: false}
        ],
    });
    $("#ManagementMenu").kendoTabStrip();
}

そして問題は修正されました。

于 2013-03-13T16:02:17.043 に答える