Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GridView / 1 сообщений из 1, страница 1 из 1
20.07.2006, 11:34
    #33866309
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridView
Проблемы с динамическим созданием GridView.

Есть код в нём создаётся контрол GridView динамически:

При попытке обновления записи после редактирования вылетает ошибка:

Item has already been added. Key in dictionary: 'Name' Key being added: 'Name'


        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            // Object Data Source
            _modelTypesDataSource = new ObjectDataSource();
            _modelTypesDataSource.ID = "ModelTypesDataSource";
            _modelTypesDataSource.OldValuesParameterFormatString = "{0}";
            _modelTypesDataSource.ConflictDetection = ConflictOptions.CompareAllValues;
            _modelTypesDataSource.TypeName = "GarageBusinessLogicLayer.ModelTypes";
            _modelTypesDataSource.SelectMethod = "GetAllModelTypes";
            _modelTypesDataSource.InsertMethod = "CreateModelType";
            _modelTypesDataSource.DeleteMethod = "DeleteModelType";
            _modelTypesDataSource.UpdateMethod = "ChangeModelType";
            Parameter updateIdParameter = new Parameter();
            updateIdParameter.Type = TypeCode.Int32;
            updateIdParameter.Name = "ID";
            updateIdParameter.Direction = System.Data.ParameterDirection.Input;
            _modelTypesDataSource.UpdateParameters.Add(updateIdParameter);
            Parameter updateNameParameter = new Parameter();
            updateNameParameter.Type = TypeCode.String;
            updateNameParameter.Name = "Name";
            updateNameParameter.Direction = System.Data.ParameterDirection.Input;
            _modelTypesDataSource.UpdateParameters.Add(updateNameParameter);
            Controls.Add(_modelTypesDataSource);
            _modelTypesDataSource.DataBind();

            _mainGridView = new GridView();
            _mainGridView.AutoGenerateColumns = false;
            _mainGridView.DataKeyNames = new string[] { "ID" };

            /*BoundField idColimn = new BoundField();
            idColimn.HeaderText = "Номер";
            idColimn.ApplyFormatInEditMode = false;
            idColimn.ConvertEmptyStringToNull = true;
            idColimn.HtmlEncode = true;
            idColimn.InsertVisible = false;
            idColimn.ReadOnly = true;
            idColimn.ShowHeader = true;
            idColimn.SortExpression = "ID";
            idColimn.Visible = true;
            idColimn.DataField = "ID";
            _mainGridView.Columns.Add(idColimn);

            BoundField nameColumn = new BoundField();
            nameColumn.HeaderText = "Название";
            nameColumn.ApplyFormatInEditMode = false;
            nameColumn.ConvertEmptyStringToNull = true;
            nameColumn.HtmlEncode = true;
            nameColumn.InsertVisible = true;
            nameColumn.ReadOnly = false;
            nameColumn.ShowHeader = true;
            nameColumn.SortExpression = "Name";
            nameColumn.Visible = true;
            nameColumn.DataField = "Name";
            _mainGridView.Columns.Add(nameColumn);*/

            _mainGridView.AutoGenerateColumns = true;
            _mainGridView.AutoGenerateDeleteButton = true;
            _mainGridView.AutoGenerateEditButton = true;
            _mainGridView.AutoGenerateSelectButton = true;
            _mainGridView.DataSourceID = _modelTypesDataSource.ID;
            Controls.Add(_mainGridView);
            _mainGridView.DataBind();
        }
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GridView / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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