簡體   English   中英

Devexpress ASPxGridView GetSelectedFieldValues無法獲取值

[英]Devexpress ASPxGridView GetSelectedFieldValues Can't get values

我正在使用帶有分頁的gridview。 我的網格具有一個命令列,並且ShowSelectCheckbox設置為true。 我在條件[ if (!IsCallback) ]下將DataTable綁定到Page_Load事件的網格。

因此,當我更改頁面索引數據時會丟失。 之后,我將綁定代碼寫入了網格的PageIndexChanged事件。 現在,它就像魅力一樣工作。

但是,當發生SelectionChanged事件時, GetSelectedFieldValues僅在首頁上起作用。

例如,當我在第一頁選擇一行時,它將獲得我想要的字段值。 但是當我更改pageindex時, GetSelectedField無法獲取字段值。 它警告空文本。

如果我在第二個頁面索引處選擇一行,它也可以在該頁面上工作,但是當我更改頁面索引時,它又被破壞了。

順便說一句,當我在沒有!IsCallback條件的情況下在PageLoad事件中綁定網格時,它起作用了,但由於其他控件必須更改查詢等數據,因此我無法在Page_Load事件!IsCallback其綁定。

這是我的JavaScript函數,可提醒選定的值

<ClientSideEvents SelectionChanged="function(s, e) {
    grid.GetSelectedFieldValues('SDNO;SANTRAL',alert);
}" />

和頁面索引更改事件

protected void myGrid_PageIndexChanged(object sender, EventArgs e)
    {
        myGridDataSource = dtable; //dtable is static, i also used BindThat function here too. But no way out.
        myGridDataBind();
    }

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsCallback)
    {
        BindThat(); // Fetch data from db, create dtable and bind it to grid.
    }
}

我認為這不是從客戶端的網格獲取值的正確方法,請檢查以下鏈接: http : //www.devexpress.com/Support/Center/p/Q94237.aspx

[JScript]
function Button1_onclick() {
    ASPxGridView1.GetSelectedFieldValues("CategoryID;CategoryName", OnGetSelectedFieldValues);
}

function OnGetSelectedFieldValues(result) {
    for(var i = 0; i < result.length; i ++)
        for(var j = 0; j <result[i].length; j++) {
            alert(result[i][j]);
        }
} 

問題:您的網格支持多種選擇嗎?

Edit1 :同樣檢查以下示例:

如何使用GetSelectedFieldValues方法一次獲取多個列的值

如何從服務器獲取所選記錄的值

ASPxClientGridView.GetSelectedFieldValues方法發送回調以獲取指定的數據。 因此,如果您未在此回調的服務器端綁定ASPxGridView(並且由於條件[if(!IsCallback)]而實際上並未綁定),則網格將無法返回數據。

順便說一句,這在當前頁面上有效,因為ASPxGridView正在緩存當前頁面的數據(請參閱EnableRowsCache屬性定義)。

您可能想要嘗試關閉網格的回調。 我發現這解決了我在網格中遇到的一些問題。 我不確定這是否可行,但是值得一試。

<dxwgv:ASPxGridView ID="xgvMyGrid" runat="server" AutoGenerateColumns="False"
 EnableCallBacks="False">

注意...盡管網格仍然可以正常工作,但這可能會影響您可能已經在使用的其他代碼。

另外,請檢查Grid的KeyFieldName。 如果未指定此信息或該信息不正確,則您可能也將無法在GetSelectedFieldValues客戶端事件中檢索值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM