Мне нравится shortname вещь. Я делаю это все время. Я главным образом использую i, y, x в лямбдах, но я использую a, b, c, d в sql.
Я только что придумал, как это сделать.
Вы должны использовать метод setValue () элемента:
$user = $form->createElement('select','user')->setLabel('User: ')->setRequired(true);
foreach($users as $u)
$user->addMultiOption($u->id,$u->firstname.' '.$u->lastname);
$user->setValue($selected); //$selected is the 'value' of the <option> that you want to apply selected="selected" to.
Думаю, это должно сработать:
$form->setDefault('user', 'value'); // Set default value for element
С программистом ссылаются не на программиста, который сидит за Delphi. Я думаю, что это используется для того, что в D2009 и выше они планировали (никогда не использовали его не знаю, работает ли он), что каждый объект был ожидаемым.
-121--695674- Если имеется ссылка на объект, можно просто использовать эту ссылку и вызвать первичный ключ после вызова db.SubmitChanges ()
. Объект LINQ автоматически обновит свое поле первичного ключа (Идентификатор), чтобы отразить новое поле, назначенное ему через SQL Server.
Пример (vb.net):
Dim db As New NorthwindDataContext
Dim prod As New Product
prod.ProductName = "cheese!"
db.Products.InsertOnSubmit(prod)
db.SubmitChanges()
MessageBox.Show(prod.ProductID)
Возможно, можно включить указанный выше код в функцию и вернуть ProductID (или эквивалентный первичный ключ) и использовать его в другом месте.
EDIT: Если вы не выполняете атомарные обновления, вы можете добавить каждый новый продукт в отдельную коллекцию и выполнить итерацию после вызова SubmitChanges. Я хотел бы, чтобы LINQ предоставил «обзор базы данных», как и набор данных.
-121--4605407-$form->addElement('select','foo',
array(
'label' => 'ComboBox (select)',
'value' => 'blue',
'multiOptions' => array(
'red' => 'Rouge',
'blue' => 'Bleu',
'white' => 'Blanc',
),
)
);
Как и выше, можно использовать «value» = > «blue» для выбора «blue» = > «Bleu».
Надеюсь, это вам поможет..