SubSonic Изменить значение DropDown для Drops Load SUB - PullRequest
1 голос
/ 25 июня 2009

Я использовал дозвуковой генератор для создания некоторых aspx-страниц, он отлично работает. На некоторых страницах он автоматически генерировал выпадающие окна для значений внешнего ключа. Как можно изменить это значение в коде сбрасывания нагрузки? Или где мне нужно это изменить.

Например, у меня есть рабочий стол и рабочий стол. Рабочая таблица имеет поле workerid, имя и фамилия, а worksweek имеет поле workerID. Генератор автоматически настроил его на отображение имени в выпадающем списке. Я хочу изменить значение на имя и фамилию.

Я уверен, что мне придется добавить код, который делает что-то вроде имени + "" + Фамилия.

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

Ответы [ 2 ]

0 голосов
/ 22 сентября 2009

В качестве альтернативы попробуйте использовать функциональность «частичного» класса для создания нового связываемого свойства. Это работает для меня как удовольствие и имеет дополнительный бонус последовательного представления данных через мои приложения (с дополнительным бонусом отсутствия необходимости что-либо менять в базе данных - полезно, если у вас есть администраторы баз данных из ада, которые требуют 18 уровней контроля изменений для что-нибудь сделать.)

Таким образом, если ваш файл класса таблиц - «worker.cs» и содержит класс с именем «worker.cs», просто создайте другой файл класса с именем «worker_custom.cs» (используйте ваши собственные соглашения для работы с частичными классами), который содержит остальная часть частичного класса, в данном случае что-то вроде:

using System; 
using System.Text; 
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration; 
using System.Xml; 
using System.Xml.Serialization;
using SubSonic; 
using SubSonic.Utilities;
namespace YOURCOMPANY.YOURSYSTEM.YOURDAL   {

    public partial class Workers {

        [Bindable(true)]
        public string displayWorkersName {
            get {
                try {
                    return this.fName + ", " + this.lName;
                } catch {
                    //Your own error handling here
                    return IsNew ? "##New##" : "##Undefined##";
                }
            }
        }

    }
}

(Обратите внимание, что вам нужно будет заменить связанный элемент свойства вашего элемента управления на новое свойство - в данном случае: "displayWorksName")

0 голосов
/ 15 июля 2009

Если он загружается из внешнего ключа, то он загружается из таблицы базы данных.

Если вам нужно объединить поля в запросе, попробуйте создать представление с объединенными полями. например выберите fName + '' + lName в качестве FullName из таблицы

Затем в коде для страницы aspx выберите его в представлении для загрузки выпадающего списка.

...