2012-04-26 79 views
0

我正在使用asp.net MVC 3的aspx視圖引擎。我有一個WebGrid控件,通過正確顯示我選定的記錄和頁面通過選定的記錄。點擊字段標題也可以對數據進行排序。asp.net webgrid標題格式和分頁問題

的問題是:如果是第二頁,我點擊任何可排序字段

  1. ,電網排序後重新加載回到第一頁。我仍想繼續在第二頁上進行排序。
  2. 在下面的代碼中的'Level'旁邊,我想要顯示一個圖像,在鼠標懸停時會顯示一個靜態DIV圖層,其行爲類似於描述該圖場的工具提示。

似乎沒有任何內置的屬性來做這兩件事。有沒有解決辦法?這裏是我的代碼:

var grid = new WebGrid(source: Model.EmployeeList, columnNames: new[] { "Name", "Level", "Department"}); 

grid.GetHtml(tableStyle: "table-EmpStyle", headerStyle: "tr-header", rowStyle: "webGrid-Row", alternatingRowStyle: "webGrid-alt-Row", previousText: "Previous",nextText: "Next", numericLinksCount: 0, 
    columns: grid.Columns(
    grid.Column("Name", header: "Full Name"), 
    grid.Column("Level", header: "Level" ), 
    grid.Column("Department", header: "Department"))) 

感謝您的時間...

回答

0

您需要設置ajaxUpdateContainerId參數以及到您的WebGrid所在的容器的名稱。對於exampe:

<div id="updateWebGrid"> 
    @grid.GetHtml(tableStyle: "table-EmpStyle", headerStyle: "tr-header", rowStyle: "webGrid-Row", alternatingRowStyle: "webGrid-alt-Row", previousText: "Previous",nextText: "Next", numericLinksCount: 0, ajaxUpdateContainerId: "updateWebGrid" 
    columns: grid.Columns( 
     grid.Column("Name", header: "Full Name"), 
     grid.Column("Level", header: "Level" ), 
     grid.Column("Department", header: "Department"))) 
</div> 

關於第二個問題,您需要使用您的列的格式屬性注入一些類

例如:

@helper CreateImage(string m) 
{ 
    <div>@m <img src="#" class="someImage"/></div> 
} 

@grid.GetHtml(columns: new WebGridColumn[] 
{ 
    new WebGridColumn() {ColumnName = "TestTypeId", Header = "Test Type"}, 
    new WebGridColumn() {ColumnName = "Name", Header = "Name", Format = m => CreateImage(m.Name)} 
}) 

一旦你聲明這個部分,你應該只要將鼠標懸停在類別爲someImage的img標記上,就可以使用jQuery來顯示div。

$(document).ready(function() { 
    $(".someImage").mouseover(function() { 
     $("yourDivId_Or_Class_for_Tooltip").show(); 
    }); 

    $(".someImage").mouseout(function() { 
     $("yourDivId_Or_Class_for_Tooltip").show(); 
    }); 
}); 

就是這樣。我沒有檢查每一段代碼,但這是你應該遵循的邏輯。我寫了一篇關於WebGrid的博客文章,所以你可以檢查一下,以供進一步參考:http://apparch.wordpress.com/2012/01/04/webgrid-in-mvc3/