powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
12 сообщений из 37, страница 2 из 2
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605364
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rpe4a,

это форма добавления новой записи.
после того как вы добавили запись вы обновляете ваш список

Я бы на вашем месте сделал так

1. Создал страницу ASPX
2. Создал 2 ascx контрола и поместил бы их на эту страницу (1 - форма добавления, 2 - список записей)
3. В первом ascx контроле я бы создал форму добавления данных (DropDownList - ы)
4. В втором - список записей.(ListView или Repeater - я бы выбрал Repeater)
5. Показывал бы эти 2 ascx контрола на странице в зависимости от того что вам нужно, если добавить запись то 1-й ascx, если просмотреть или отредактировать то 2-й

Вам потом намного проще было бы поддерживать и расширять этот функционал
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605366
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rpe4a,

ddlForm.Items.Clear();
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605371
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На событие ItemDataBound 0 реакции... Выкладываю код ASPX:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
        <asp:ListView ID="ListView1" DataSourceID="SelectDOU" runat="server" DataKeyNames="DOU_id" 
            EnableViewState="false"
            OnItemDataBound="ListView1_ItemDataBound"
            OnItemInserting="ListView1_ItemInserting"
            OnItemCreated="ListView1_ItemCreated"
            OnItemInserted="ListView1_ItemInserted"
            InsertItemPosition="FirstItem">
            <InsertItemTemplate>
            Cайт:
                <asp:TextBox Text='<%#Bind("DOU_Url") %>' runat="server" ID="tBUrl" Width="50%" BackColor="White"></asp:TextBox>

               Вид доу:
                <asp:DropDownList runat="server" ID="EditDOUForm" AppendDataBoundItems="false" EnableViewState="false" Width="50%">
                </asp:DropDownList>
                <asp:RequiredFieldValidator ID="RFValidator5" runat="server"
                    ControlToValidate="EditDOUForm" ErrorMessage="Поле &quotВид доу&quot не выбрано." SetFocusOnError="true"
                Display="Dynamic" Font-Bold="true" ForeColor="Red">
                </asp:RequiredFieldValidator>

                

           <asp:Button runat="server" Text="Добавить" CommandName="Insert" ID="linkbu" CausesValidation="true" OnClick="linkbu_Click">
           </asp:Button>
         <asp:Button runat="server" Text="Отмена" CommandName="Exit" OnClick="Button1_Click" ID="Button1" CausesValidation="false">
         </asp:Button>
          </InsertItemTemplate>
<ItemTamplate></ItemTemplate>
        </asp:ListView>
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605382
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rpe4a,

Где источник
<asp:DropDownList runat="server" ID="EditDOUForm" AppendDataBoundItems="false" EnableViewState="false" Width="50%">
</asp:DropDownList>

Как вы его подгружаете?
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605406
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708rpe4a,

это форма добавления новой записи.

да
VIT2708после того как вы добавили запись вы обновляете ваш список

После этого пользователь переходит на страницу (где выводится список детских садов и только что добавленный сад ) с которой пришел, в страницу с формой добавления новой записи
VIT2708Я бы на вашем месте сделал так

1. Создал страницу ASPX
2. Создал 2 ascx контрола и поместил бы их на эту страницу (1 - форма добавления, 2 - список записей)
Правильно, не подумайте, что я ханжа, просто, надо реализовать это, как сказано в задании :(
VIT27083. В первом ascx контроле я бы создал форму добавления данных (DropDownList - ы)
4. В втором - список записей.(ListView или Repeater - я бы выбрал Repeater)
5. Показывал бы эти 2 ascx контрола на странице в зависимости от того что вам нужно, если добавить запись то 1-й ascx, если просмотреть или отредактировать то 2-й
Это можно сделать и через 1 контрол.
VIT2708Вам потом намного проще было бы поддерживать и расширять этот функционал
Согласен
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605417
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708rpe4a,

Где источник
<asp:DropDownList runat="server" ID="EditDOUForm" AppendDataBoundItems="false" EnableViewState="false" Width="50%">
</asp:DropDownList>

Как вы его подгружаете?
Как раз через код, в событии
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
    {
        if ((e.Item != null) && (e.Item.ItemType == ListViewItemType.InsertItem))
        {
            DropDownList ddlForm = (DropDownList)e.Item.FindControl("EditDOUForm");
            if (ddlForm != null)
            {
                SqlConnection con = new SqlConnection(ConnectionString);
                SqlCommand cmd = new SqlCommand("DOUForm_select", con);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds, "DOUForm");
                ddlForm.DataSource = ds.Tables["DOUForm"];
                ddlForm.DataTextField = "DOUForm_name";
                ddlForm.DataValueField = "DOUForm_id";
                ddlForm.DataBind();
                ddlForm.Items.Insert(0, new ListItem("", ""));
            }
        }


Но работает он не правильно, на картинках видно :(
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605431
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rpe4a,

Ну раз у вас задание

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
    {
        if ((e.Item != null) && (e.Item.ItemType == ListViewItemType.InsertItem))
        {
            DropDownList ddlForm = (DropDownList)e.Item.FindControl("EditDOUForm");
            if (ddlForm != null)
            {
                SqlConnection con = new SqlConnection(ConnectionString);
                SqlCommand cmd = new SqlCommand("DOUForm_select", con);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds, "DOUForm");
                ddlForm.Items.Clear();   //#################### Что бы список не дублировать ###############
                ddlForm.DataSource = ds.Tables["DOUForm"];
                ddlForm.DataTextField = "DOUForm_name";
                ddlForm.DataValueField = "DOUForm_id";
                ddlForm.DataBind();
                ddlForm.Items.Insert(0, new ListItem("", ""));
            }
        }
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605450
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708rpe4a,

Ну раз у вас задание

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
    {
        if ((e.Item != null) && (e.Item.ItemType == ListViewItemType.InsertItem))
        {
            DropDownList ddlForm = (DropDownList)e.Item.FindControl("EditDOUForm");
            if (ddlForm != null)
            {
                SqlConnection con = new SqlConnection(ConnectionString);
                SqlCommand cmd = new SqlCommand("DOUForm_select", con);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds, "DOUForm");
                ddlForm.Items.Clear();   //#################### Что бы список не дублировать ###############
                ddlForm.DataSource = ds.Tables["DOUForm"];
                ddlForm.DataTextField = "DOUForm_name";
                ddlForm.DataValueField = "DOUForm_id";
                ddlForm.DataBind();
                ddlForm.Items.Insert(0, new ListItem("", ""));
            }
        }


по идее все логично, и так тоже уже делал, но он не доходит до строчки ddlForm.Items.Clear() и опять дублирующие записи :(
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605453
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Беды бы вообще не было, если бы не надо было вставлять этот тряхлятый пустой элемент в начало списка...
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605470
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rpe4a,

Посмотрите в дебаге что там происходит
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605486
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708, как раз туда и полез
...
Рейтинг: 0 / 0
Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
    #38605575
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пойду думать до понедельника, может что-то и получится, хороших выходных всем!
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Беда с DropDownList, Sqldatareader и cобытием ListView_ItemCreated?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]