Встроить Combobox в ListView?
От: leaveIIIusion  
Дата: 01.09.10 02:35
Оценка:
Здравствуйте!
Есть у меня обычный ListView. Я хочу заменить в нем TextBox'ы для редактирования на всплывающие списки, например, Combobox.
Для пробы заменил один из TextBox'ов:
<asp:TextBox ID="ProjectIDTextBox" runat="server" Text='<%# Bind("ProjectID") %>' />


Combobox'ом:
<asp:Combobox ID="ComboBox1" runat="server"
     DropDownStyle="DropDownList"
     AutoCompleteMode="SuggestAppend"
     CaseSensitive="False"
     CssClass=""
     ItemInsertLocation="Append"

     DataSourceID="SqlDataSource1" 
     SelectedValue= '<%# Bind("ProjectID") %>'
     DataTextField="ProjectID" 
     DataValueField="ProjectID">
     </asp:Combobox>



Редактор ошибок не находит, но после запуска ошибка появляется:

Методы привязки данных, например, Eval(), XPath() и Bind(), можно использовать только в контексте элемента управления с привязкой к данным.


Я тут покопал и нашел здесь статью как это вроде бы можно исправить.

как было написано в статье, я заменил строку:

SelectedValue= '<%# Bind("ProjectID") %>'


на строку:
SelectedValue= '<%# DataBinder.Bind(Container.DataItem,"ProjectID") %>'


но теперь при компиляции вылетают ошибки:

'System.Web.UI.DataBinder' не содержит определение для 'Bind'


и

"System.Web.UI.WebControls.ListViewItem" не содержит определение для "DataItem". Не удалось найти метод расширения "DataItem", принимающий первый аргумент типа "System.Web.UI.WebControls.ListViewItem" (пропущено использование директивы или ссылка на сборку?)


Там дальше ещё что-то в статье написано, но я не могу разобрать.
Подскажите как мне правильно этот всплывающий список вставить, так чтобы работало. Может у кого уже получалось так сделать, подскажите что я не так делаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.