powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / EditCommandColumn не вызывает свои методы
13 сообщений из 13, страница 1 из 1
EditCommandColumn не вызывает свои методы
    #33838594
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал пример из статьи: http://www.aspnetmania.com/Articles/Article/3.html про редактирование данных в датаГриде. Почему-то кнопка EditCommandColumn не входит в режим редактирования. Методы DataGrid1_EditCommand и иже с ними не вызываются. А посему датагрид остается недоступен для редактирования.

Может быть проблема в том, что я работаю в Visual Studio 2003?
Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33839659
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А это по 2003 (и даже по 2002) и писалось
Как грид биндится?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33843303
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это по 2003 (и даже по 2002) и писалось
Как грид биндится?


SqlConnection myConnection = new SqlConnection("user id=sa; password=; server=(local); Trusted_Connection=false; database=Pubs; connection timeout=30");
myConnection.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter("select * from authors", myConnection);
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
DataGrid1.DataSource = myDataSet;
DataGrid1.DataKeyField = "au_id";
DataGrid1.DataBind();
myConnection.Close();

Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33843382
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это по 2003 (и даже по 2002) и писалось
Как грид биндится?


<form id="DataGridEdit1" method="post" runat="server">
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="True">
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Сохранить" CancelText="Отменить" EditText="Редактировать"></asp:EditCommandColumn>
</Columns>
</asp:datagrid>
</form>

Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33843633
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на if(!IsPostBack) проверка есть при биндинге?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33844813
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на if(!IsPostBack) проверка есть при биндинге?


пробовал и с проверкой, и без - всё едино...

Не могу понять: методы DataGrid1_EditCommand, DataGrid1_CancelCommand и т.д. являются стандартными? Или их вызов где-то прописывается? Откуда датагрид знает, что нужно вызывать именно их?
Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33845164
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это обыкновенные ItemCommand с предопределенным CommandName

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33847148
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это обыкновенные ItemCommand с предопределенным CommandName


А воз и ныне там. Перечитал статью. Посмотрел MSDN...Строка в режим редактирования не переводится, метод DataGrid1_EditCommand не вызывается (проверяю тестовым респонсом). Если задаю принудительно индекс редактирования, то все ок. Но и только

Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33848265
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОкажи ка код веб формы.

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33848321
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПОкажи ка код веб формы.



<%@ Page language="c#" Codebehind="test.aspx.cs" AutoEventWireup="false" Inherits="user.WebForm4" %>
<HTML>
<HEAD>
<title>DataGridEdit1</title>
</HEAD>
<body>
<form id="DataGridEdit1" method="post" runat="server">
<asp:datagrid id="DataGrid1" runat="server">
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Сохранить" CancelText="Отменить" EditText="Редактировать"></asp:EditCommandColumn>
</Columns>
</asp:datagrid></form>
</body>
</HTML>



using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace user
{
/// <summary>
/// Summary description for WebForm4.
/// </summary>
public class WebForm4 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (!IsPostBack)
{
bindData();
Response.Write("Binded!");
}
else
{
Response.Write("unbinded");
}
}

private void bindData()
{
SqlConnection myConnection = new SqlConnection("user id=sa; password=; server=(local); Trusted_Connection=false; database=Pubs; connection timeout=30");
SqlDataAdapter myAdapter = new SqlDataAdapter("select * from authors", myConnection);
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
DataGrid1.DataSource = myDataSet;
DataGrid1.DataKeyField = "au_id";
DataGrid1.DataBind();
}

private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Response.Write("Method: DataGrid1_EditCommand");
DataGrid1.EditItemIndex = e.Item.ItemIndex;
bindData();
}
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Response.Write("Method: DataGrid1_CancelCommand");
DataGrid1.EditItemIndex = -1;
bindData();
}


#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33848417
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а где у тебя присоединение DataGrid1_EditCommand и DataGrid1_CancelCommand к соотв. событиям грида?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33848453
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а где у тебя присоединение DataGrid1_EditCommand и DataGrid1_CancelCommand к соотв. событиям грида?


В общем-то, я это и хотел узнать.
Главное - идея!
...
Рейтинг: 0 / 0
EditCommandColumn не вызывает свои методы
    #33848971
Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а где у тебя присоединение DataGrid1_EditCommand и DataGrid1_CancelCommand к соотв. событиям грида?


Всё. Разобрался. Методы действительно нужно привязывать. Добавил в Page_Load строки:

DataGrid1.EditCommand += new DataGridCommandEventHandler(this.DataGrid1_EditCommand);
DataGrid1.CancelCommand += new DataGridCommandEventHandler(this.DataGrid1_CancelCommand);

и заработало.

Спасибо за помощь и терпение

Главное - идея!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / EditCommandColumn не вызывает свои методы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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