Программирование asp.net. Help

Компьютеры, программы, периферия, коммуникации, интернет, программирование и т.п. Ранее назывался Hard-n-Soft.
Сообщение
Автор
Magik

№ 0 Сообщение Magik » 25 дек 2006 12:43

Всем привет!
Народ, кто нить программирует(ровал) asp.net странички(aspx) (web form)на С#...
точнее - работа с DataGrid'om...
если да, отзовитесь... напишу основной вопрос...
Пасибо! :)

pavlick
Аватара пользователя

№ 1 Сообщение pavlick » 25 дек 2006 14:52

чего хотел?

Magik

№ 2 Сообщение Magik » 25 дек 2006 15:24

датагрид в режиме редактирования. в строке есть два комбокса. изменяя значение в первом необходимо, чтобы изменялся список значений во втором.
что я сделал:
html код первого комбобокса...

Код: Выделить всё

EditItemTemplate>
<asp:DropDownList id=cmb_mtp_name_edit Width="100%" AutoPostBack="True" Runat="server" DataValueField="MEASURE_TYPE_ID" DataTextField="MTP_NAME" DataSource="<%# dt_mea_type_name %>" DataMember="MTG_MEASURE_TYPE" OnSelectedIndexChanged="DropTypeDown_SelectedIndexChanged">
</asp:DropDownList>
</EditItemTemplate>
в С# коде:

Код: Выделить всё

protected void DropTypeDown_SelectedIndexChanged(object sender, System.EventArgs e)
{
DropDownList ddl1 = (DropDownList)sender;
dataset_temp = orgData.getMainRequest("SELECT MGR_NAME, MEASURE_GROUP_ID FROM MTG_MEASURE_GROUP WHERE MTG_MEASURE_GROUP.MEASURE_TYPE_ID="+ddl1.SelectedValue,"MTG_MEASURE_GROUP","");
Session["dataset_temp"] = dataset_temp;
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataMember = "MTG_MEASURE_GROUP";
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataSource = (DataSet) Session["dt_temp"];}
}
dataset_temp = orgData.getMainRequest() - это датасет.... делаю выборку из базы для второго комбобокса.
cmb_mgr_name_edit - это второй комбобокс, который как раз должен обновиться....
т.е. я делаю выборку из базы, взависимости от значения первого комбобокса. потом нахожу второй комбобокс. записываю туда датасет и датамембер.
теперь вопрос: Как мне новые данные вывести на экран?
я делал так - (DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataBind();
при этом вылетает ошибка - The IListSource does not contain any data sources...

помогите, пожалуйста!
спасибо!

[/code]

pavlick
Аватара пользователя

№ 3 Сообщение pavlick » 25 дек 2006 15:32

в каком месте вылетает ошибка? если общий бинд сделать, ошибка та же?

pavlick
Аватара пользователя

№ 4 Сообщение pavlick » 25 дек 2006 15:35

datavalue и datatext для того листа указаны?

Magik

№ 5 Сообщение Magik » 25 дек 2006 15:51

вылетает на строчке с командой Databind();
биндил и комбобокс и весь датагрид. вылетает одна и таже ошибка -
The IListSource does not contain any data sources...
прописал для второго комбобокса датавалуе и дататекст... без изменений...

Код: Выделить всё

protected void DropTypeDown_SelectedIndexChanged(object sender, System.EventArgs e)
{
DropDownList ddl1 = (DropDownList)sender;
dt_temp = orgData.getMainRequest("SELECT MGR_NAME, MEASURE_GROUP_ID FROM MTG_MEASURE_GROUP WHERE MTG_MEASURE_GROUP.MEASURE_TYPE_ID="+ddl1.SelectedValue,"MTG_MEASURE_GROUP","");
Session["dt_temp"] = dt_temp;
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataSource = (DataSet)Session ["dt_temp"];
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataTextField = "MGR_NAME";
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataValueField = "MEASURE_GROUP_ID";
((DropDownList) ddl1.NamingContainer.FindControl("cmb_mgr_name_edit")).DataMember = "MTG_MEASURE_GROUP";
}
добавляешь сюда сточку с датабинд... вылетает та ошибка...
я не могу понять почему выдается, что IListSource не содержит не один датасерч... я же ему этому комбобоксу явно подсунул датасет, загруженный новыми данными... почему он не хочет его биндить?
Спасибо...
P.S. аськи нет((((( может через мейл-агент?...))

Magik

№ 6 Сообщение Magik » 25 дек 2006 16:35

Код: Выделить всё

Unhandled Execution Error 
The IListSource does not contain any data sources. 
  at System.Web.UI.DataSourceHelper.GetResolvedDataSource(Object dataSource, String dataMember) 
  at System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) 
  at System.Web.UI.Control.DataBind() 
  at System.Web.UI.Control.DataBind() 
  at System.Web.UI.Control.DataBind() 
  at System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) 
  at System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) 
  at System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) 
  at System.Web.UI.WebControls.BaseDataList.DataBind() 
  at Metrolog.classes.DataDisplay.UpdateDataGrid(DataGrid datagridName, DataSet datasetName, String table, String key) in C:\Inetpub\wwwroot\Metrolog\classes\DataDisplay.cs:line 29 
  at Metrolog.Handbook.instrument_type.DropTypeDown_SelectedIndexChanged(Object sender, EventArgs e) in c:\inetpub\wwwroot\metrolog\handbook\instrument_type.aspx.cs:line 336 
  at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e) 
  at System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() 
  at System.Web.UI.Page.RaiseChangedEvents() 
  at System.Web.UI.Page.ProcessRequestMain() 

 0,021052 0,003873 
[/code]

Magik

№ 7 Сообщение Magik » 25 дек 2006 16:48

6: Magik - это код с датабиндом всего датагрида....
а вот только датабинд комбобокса

Код: Выделить всё

Unhandled Execution Error 
The IListSource does not contain any data sources.
  at System.Web.UI.DataSourceHelper.GetResolvedDataSource(Object dataSource, String dataMember)
  at System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e)
  at System.Web.UI.Control.DataBind()
  at Metrolog.Handbook.instrument_type.DropTypeDown_SelectedIndexChanged(Object sender, EventArgs e) in c:\inetpub\wwwroot\metrolog\handbook\instrument_type.aspx.cs:line 333
  at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)
  at System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent()
  at System.Web.UI.Page.RaiseChangedEvents()
  at System.Web.UI.Page.ProcessRequestMain() 
0,016598 0,002801 
[/code]

Magik

№ 8 Сообщение Magik » 25 дек 2006 16:51

pavlick
у меня что то аська глючит... все время в режиме коннекта...

pavlick
Аватара пользователя

№ 9 Сообщение pavlick » 25 дек 2006 16:57

попробуй через Items.AddRange

pavlick
Аватара пользователя

№ 10 Сообщение pavlick » 25 дек 2006 22:14

ну что? как успехи? разобрался с датасетом? у меня все работает замечательно

Magik

№ 11 Сообщение Magik » 26 дек 2006 10:07

pavlick :
> ну что? как успехи? разобрался с датасетом? у меня все работает замечательно

о, ДА!!! все отлично!!! Павел, пасибо! Ты - Отличный программер! :)

pavlick
Аватара пользователя

№ 12 Сообщение pavlick » 26 дек 2006 10:44

:rollhappy:

provod

№ 13 Сообщение provod » 26 дек 2006 12:34

О! и тут репертуар театра обсуждают!

Апологет
Аватара пользователя
Благодарил (а): 449 раз
Поблагодарили: 330 раз

№ 14 Сообщение Апологет » 26 дек 2006 13:14

13: provod в форуме о программированиии - куда катится этот мир?!
[убился ап стол]

pavlick
Аватара пользователя

№ 15 Сообщение pavlick » 26 дек 2006 22:26

13: provod
14: Апологет вы вообще о чем?

Вернуться в «Компьютерный форум»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей