Devexpress MVC GridView で選択した行を一度に取得したい。クリックされた各アイテムではありません。
質問する
8188 次
1 に答える
4
参考: GridViewで選択したキーをすべて取得してコントローラーに渡す方法
ASPxClientGridView.GetSelectedFieldValuesメソッドを使用して、クライアント側で選択されたすべての値 (キーなど) を収集し、次のように渡すことができます。
- e.customArgs ディクショナリを介した GridView コールバック アクション (コールバックを介してコントローラー アクションに値を渡す)。
- 非表示の入力要素を介した任意のコントローラー ポスト アクション。
コード スニペットの例:
<script type="text/javascript">
var selectedIDs;
function OnBeginCallback(s, e) {
//Pass all selected keys to GridView callback action
e.customArgs["selectedIDs"] = selectedIDs;
}
function OnSelectionChanged(s, e) {
s.GetSelectedFieldValues("PersonID", GetSelectedFieldValuesCallback);
}
function GetSelectedFieldValuesCallback(values) {
//Capture all selected keys
selectedIDs = "";
for (var index = 0; index < values.length; index++) {
selectedIDs += values[index] + ",";
}
if (selectedIDs.length > 0)
selectedIDs = selectedIDs.substring(0, selectedIDs.length - 1);
}
function OnClick(s, e) {
//Show all selected keys on client side
alert(selectedIDs);
}
function OnSubmitClick(s, e) {
//Write all selected keys to hidden input. Pass them on post action.
$("#selectedIDsHF").val(selectedIDs);
}
</script>
コントローラ
namespace Sample.Controllers {
public class HomeController : Controller {
PersonsList list = new PersonsList();
[HttpGet]
public ActionResult Index() {
return View(list.GetPersons());
}
[HttpPost]
public ActionResult Index(string selectedIDsHF) {
//Get all selected keys from hidden input
string _selectedIDs = selectedIDsHF;
return View(list.GetPersons());
}
public ActionResult GridViewEditingPartial() {
//Get all selected keys from e.customArgs on GridView callback
string _selectedIDs = Request.Params["selectedIDs"];
ViewData["_selectedIDs"] = _selectedIDs;
return PartialView(list.GetPersons());
}
}
}
注: クライアント側のGetSelectedKeysOnPage メソッドは、現在のページ内に表示されている選択された行のキー値を返します。
参照:
GridView - 選択した行をアクション パラメーターとして取得する
方法 GridView - コントローラーのアクションで選択した行の値を取得する
方法 選択した GridView の行を Javascript 変数に取得するにはどうすればよいですか?
DevExpress MVC GridView - セル クリック イベントを取得する方法 DevExpress MVC GridView
のページで特定の行を強調表示する方法は?
于 2014-10-22T04:12:15.333 に答える