﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / .NET  / DropDownList_DataBinding / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 22 Nov 2008 17:25:37 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>Спасибо, у меня уже есть там ящик :)</description><pubDate>Wed, 02 Nov 2005 11:29:00 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>спасибо, я ведь сначал так и сделал, только вот в значении были не тольцо цифры, а я конвертил в инт и поэтому ошибку выдавало.p.s. нужно мыло на gmail.com?</description><pubDate>Wed, 02 Nov 2005 11:01:00 GMT</pubDate><dc:creator>texa</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>[quote="texa"]а ты не подскажешь как мне данные взять из этого селекта, с помощью серверной кнопки???[/quote]Выбранное значение можно получить через Request.Form["имя_select"] или Request.QueryString["имя_select"]. А список значений придется из базы по новой тянуть или сохранять в их Cache или во viewstate.</description><pubDate>Wed, 02 Nov 2005 10:02:00 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>[bold]to bazil[/bold]а ты не подскажешь как мне данные взять из этого селекта, с помощью серверной кнопки???</description><pubDate>Wed, 02 Nov 2005 05:33:00 GMT</pubDate><dc:creator>texa</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>Пожалуйста.</description><pubDate>Thu, 20 Oct 2005 12:38:00 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>все заработало, спасибо огромное!</description><pubDate>Thu, 20 Oct 2005 12:35:00 GMT</pubDate><dc:creator>texa</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>[quote="texa"]как можно сделать selected, ну т.е. есть какой-то streedId и нужно чтобы у данного &lt;option&gt; нарисовался selected? В случае с dropdownlist все было бы просто[/quote]С dropdownlist это действительно проще. Мне данный метод самому не очень нравится, но другого я не знаю. Что касается selected, то заведи дополнитльное private поле с текущим id элемента. По умолчанию он будет 0. Получать его значение ты будешь из Request.QueryString или Request.Form. В методе OnStreetsItemCreated ты проверяешь равен ли текущий id значению id из базы и устанавливаешь другое свойство SelectedAttribute = " selected" (обрати внимание на ведущий пробел) и выводишь его в форме&lt;ItemTemplate&gt;&lt;asp:PlaceHolder id="holderCity" visible="false" runat="server"&gt;&lt;option value="city&amp;lt;%# CityId %&amp;gt;"&gt;&amp;lt;%# CityName %&amp;gt;&lt;/option&gt;&lt;/asp:PlaceHolder&gt;&lt;option value="street&amp;lt;%# StreetId %&amp;gt;"&amp;lt;%# SelectedAttribute %&amp;gt;&gt;&amp;lt;%# StreetName %&amp;gt;&lt;/option&gt;&lt;/ItemTemplate&gt;</description><pubDate>Thu, 06 Oct 2005 13:12:00 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>спасибо большое все заработало, у меня еще вопросик а как можно сделать selected, ну т.е. есть какой-то streedId и нужно чтобы у данного &lt;option&gt; нарисовался selected? В случае с dropdownlist все было бы просто</description><pubDate>Thu, 06 Oct 2005 10:24:00 GMT</pubDate><dc:creator>texa</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>[quote="texa"]мне не понятно одно, каким образом мне данные из базы привязывать к переменным _cityId, _streeId и т.д.[/quote][code]DataTable dt = ProjectDataManager.GetCityAndStree();repeaterStreets.DataSource = dt;repeaterStreets.ItemCreated += new RepeaterItemEventHandler(this.OnStreetsItemCreated);repeaterStreets.DataBind();private void OnStreetsItemCreated(object sender, RepeaterItemEventArgs e){    if (null == e.Item.DataItem) return;    // Получаем данные из базы    DataRowView dbrow = (DataRowView)e.Item.DataItem;    _cityId     = (int)dbrow["iCity_ID"];    _streetId   = (int)dbrow["iStreet_ID"];    _cityName   = (string)dbrow["sCityName"];    _streetName = (string)dbrow["sStreetName"];        ...   }[/code]Данный код будет работать если в качестве источника данных выступает DataTable. Для DataReader используй класс DbDataRecord (из System.Data.Common) вместо DataRowView.[quote="texa"]И для чего нужна вот эта строчка if (null == e.Item.DataItem) return;[/quote]DataItem указывает на текущий элемент из источника данных которые нужно отобразить. Это поле будет пустым для Header, Footer и Separator. Эти элементы мы и пропускаем - для них поле DataItem будет равно null.</description><pubDate>Wed, 05 Oct 2005 12:17:00 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: DropDownList_DataBinding</title><link>http://relib.com/forums/Topic881959-16-1.aspx</link><description>Спасибо за ответ, задумка хорошая, но мне не понятно одно, каким образом мне данные из базы привязывать к переменным _cityId, _streeId и т.д.Я попытался сделать так:[italic]но данные выводятся неправильно[/italic][code]int i = 0;private void OnLocationItemCreated(object sender, RepeaterItemEventArgs e){	if(null == e.Item.DataItem) return;	DataTable dt = ProjectDataManager.GetCityAndStree();	if(i &lt; dt.Rows.Count)	{		DataRow dr = dt.Rows[i];			_cityId= Convert.ToInt32(dr["_cityId"]);		_cityName = dr["cityName"].ToString();		if(dr["streetId"] != DBNull.Value)		{			_streetId = Convert.ToInt32(dr["streetId"]);			_streetName = dr["streetName"].ToString();		}        	// добаил это, т.к. если в городе нету улицы, то показывается пустой &lt;option&gt;		else		{			Control holderStreet = e.Item.FindControl("holderStreet");			holderStreet.Visible = false;		}		Control holderCity= e.Item.FindControl("holderCity");		if(_prevCityId != _cityId)		{			holderCenter.Visible = true;		}			_prevCityId = _cityId;		i++;	}}[/code]Подскажи как нужно привязать правильно данные из бд к лок. переменным.И для чего нужна вот эта строчка [code]if(null == e.Item.DataItem) return;[/code]</description><pubDate>Wed, 05 Oct 2005 11:55:00 GMT</pubDate><dc:creator>texa</dc:creator></item></channel></rss>