Ext.Net RowSelectionModel, получить значения из текущей выбранной строки? - PullRequest
0 голосов
/ 20 октября 2011

Я знаю, что этот вопрос уже задавался в аналогичных ситуациях, касающихся ASP.Net, ранее. Но так как я не понимал контексты и поскольку эти ответы не соответствовали моему компоненту Ext.Net, мне нужно спросить снова.

В моем случае у меня есть структура сущностей, подключенная через мой LinqDataSource. У меня есть GridPanel, в которой есть Store, включая JsonReader, в дополнение к этому у GridPanel есть модель Selection со следующим кодом:

            <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, и она дает мне все значения из выбранной строки в мою панель редактирования, но я действительно не уверен, как это работает.

Мой второй вопрос: у меня в GridPanel 9 столбцов, которые представляют Данные из моей Entity Framework. Как я могу получить данные из первого столбца в выбранной строке?

Заранее спасибо!

1 Ответ

1 голос
/ 21 октября 2011

Этот код:

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

инициализирует поля вашей FormPanel значениями в записи.

Некоторые подробности вы можете посмотреть здесь: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.BasicForm-method-loadRecord

Это оченьполезно, если вы хотите установить значения формы автоматически по значениям из какого-либо магазина.Например, у вас есть хранилище с загруженными значениями, и вы хотите отобразить подробную информацию о записях.

Этот код:

#{UserForm}.record = record;

устанавливает поле 'запись' 'UserForm' по выбранной записи,В Ext.NET я не думаю, что это имеет какую-то цель, но в логике приложения это может быть полезно.


И ответ на второй вопрос:

{GridID} .selModel.getSelected (). data.Id // Вместо 'Id' вы можете поместить любое имя поля записи, потому что # {GridID} .selModel.getSelected () возвращает выбранную запись.

...