Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложные таблицы или табличная форма 
V
    Опции темы
ANDeath
Дата 21.1.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 9.4.2006
Где: Краснодар

Репутация: нет
Всего: нет



Добрый день.
Мне надо организовать форму на asp.net для работы с БД Access. И хотелось что бы это все выглядело максимально дружелюбно.
Возможно ли в элементе GridView использование DropDownList для редактирования записи?
Или же возможно ли вывести в FormView элементы таблицей, поаналогии в Access "табличной формой"?
PM MAIL   Вверх
Mymik
Дата 21.1.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



я не очень знаком с "табличной формой" в Access, но как я понял, это подобие foreing key constraint в MS SQL. Использовать DropDownList в GridView конечно же можно и задавать ему DataSource (DataSourceID) тоже можно. Следовательно когда вы поподаете в EditMode то вам просто нужно будет заполнить свой DropDownList по любой понравившейся вам схеме.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
ANDeath
Дата 21.1.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 9.4.2006
Где: Краснодар

Репутация: нет
Всего: нет



А можно пример связки DropDownGrid и DridView? F то на словах это все как-то пространственно звучит.
Я так понимаю надо в тег Columns просто добавить ниспадающий список...ну и связать через DataSourceID и SelectedIndex?
PM MAIL   Вверх
Mymik
Дата 21.1.2008, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(ANDeath @  21.1.2008,  17:52 Найти цитируемый пост)
А можно пример связки DropDownGrid и DridView? F то на словах это все как-то пространственно звучит.
Я так понимаю надо в тег Columns просто добавить ниспадающий список...ну и связать через DataSourceID и SelectedIndex? 

Ты все правильно сказал. Осталось лишь пример не поленится и написать.

aspx страница
Код

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="gvTest" AutoGenerateColumns="false" runat="server">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <%# Eval("Name") %>
                    </ItemTemplate>
                </asp:TemplateField>
                
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:DropDownList DataSource="<%# GetForDropDown() %>" SelectedValue='<%# Eval("NameId") %>' DataTextField="Name" DataValueField="NameId" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>


aspx behind-code
Код

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Collections.Generic;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.Configuration;

public partial class _Default : System.Web.UI.Page 
{
    private List<TestForDropDown> _testCollection = new List<TestForDropDown>();
    protected void Page_Load(object sender, EventArgs e)
    {
        _testCollection.Add(new TestForDropDown(1, "First"));
        _testCollection.Add(new TestForDropDown(2, "second"));
        _testCollection.Add(new TestForDropDown(3, "Third"));

        gvTest.DataSource = _testCollection;
        gvTest.DataBind();
    }

    protected List<TestForDropDown> GetForDropDown()
    {
        return _testCollection;
    }
}


TestForDropDown сlass 
Код

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public class TestForDropDown
{
    private int _nameId;
    private string _name;

    public int NameId 
    {
        get { return _nameId; }
        set { _nameId = value; }
    }
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }

    public TestForDropDown()
    {
    }
    public TestForDropDown(int nameId, string name)
    {
        this._nameId = nameId;
        this._name = name;
    }

}


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


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
ANDeath
Дата 22.1.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 9.4.2006
Где: Краснодар

Репутация: нет
Всего: нет



Шикарно) своим примером ты исключил мои дальнейшие вопросы, я пока не силен в данном языке и накарякал бы все наоборот... спасибо, буду разбираться...

...единственное не пойму фишки: List<ClassName>

Это сообщение отредактировал(а) ANDeath - 22.1.2008, 10:08
PM MAIL   Вверх
ANDeath
Дата 22.1.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 9.4.2006
Где: Краснодар

Репутация: нет
Всего: нет



...а почему компилятор ругается на:
Код

<ItemTemplate>
      <asp:DropDownList DataSource="<%# GetForDropDown() %>" SelectedValue="<%# Eval("NameId") %>" DataTextField="Name" DataValueField="NameId" runat="server" />
</ItemTemplate>


ошибкой: The server tag is not well formed

...причем мой GridView находится в теле FormView, и без выше приведенного листинга все отлично фунциклирует

Это сообщение отредактировал(а) ANDeath - 22.1.2008, 11:17
PM MAIL   Вверх
Mymik
Дата 22.1.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



ANDeath, посмотри на подсветку кода smile видишь там свойство SelectedValue и найди 1 отличие с моим вышеприведенным кодом. (подсказка: смотри на ковычки)


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
ANDeath
Дата 22.1.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 9.4.2006
Где: Краснодар

Репутация: нет
Всего: нет



 smile ну с кем не бывает...  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.