2011-10-20 23 views
0

我知道這個問題已經在類似的情況下處理過,關於ASP.Net,之前。 但是由於我不瞭解上下文,並且由於這些答案與我的Ext.Net組件不匹配,我需要再次提問。Ext.Net RowSelectionModel,獲取當前所選行的值?

在我的情況下,我有一個實體框架通過我的LinqDataSource連接。 我有有包括JsonReader商店中的GridPanel中,除了該GridPanel中有下面的代碼選擇模式:

  <SelectionModel> 
      <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true"> 
       <Listeners> 
        <RowSelect Handler="#{EditPanel}.getForm().loadRecord(record);#{UserForm}.record = record;" /> 
       </Listeners> 
      </ext:RowSelectionModel> 
     </SelectionModel> 

第一個問題是,什麼是RowSelect處理程序呢,還是讓我們更好的說有人可以解釋我的那一行嗎? 我從ext.net頁面上的示例中複製了該行,它將所選行的所有值提供給我的EditPanel,但我確實不確定這是如何工作的。

我的第二個問題是,我的GridPanel中有9列表示我的實體框架中的數據。如何從選定行的第一列獲取數據?

在此先感謝!

回答

1

此代碼:

#{EditPanel}.getForm().loadRecord(record); 

在記錄值初始化您FormPanel中的各個領域。

一些細節,你可以看看這裏:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.BasicForm-method-loadRecord

,如果你想從一些賣場值automaticaly設置表單值,這是非常有用的。例如,您有一個加載了值的商店,並且想要顯示有關記錄的詳細信息。

此代碼:通過選定的記錄 '用戶窗體' 的

#{UserForm}.record = record; 

集 '記錄' 字段。在Ext.NET中,我不認爲這有一定的目的,但在應用程序邏輯中可能有用。


而一個回答了第二個問題:

{} GridID .selModel.getSelected()data.Id //而是 'ID',你可以把記錄的任何字段名稱,因爲# {GridID} .selModel.getSelected()返回所選記錄。

+0

非常感謝您的幫助,解釋很有意義。但這是JavaScript調用/處理程序比正確的?明天再測試一下吧! – Evils

+0

是的,這是JavaScript代碼。學習ExtJs也許會有用,因爲Ext.NET和ExtJs之間的交互非常接近。使用FireBug查看結果HTML和JavaScript代碼非常有用。你會看到什麼參數處理程序接收和Ext.NET的共同邏輯 – Baidaly

+0

好,下一個問題,還是同樣的問題。如何從C#中的CodeBehind中的選定行中獲取這些值? – Evils