powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / значения datagrid в режиме edit
2 сообщений из 2, страница 1 из 1
значения datagrid в режиме edit
    #33081904
SERGOD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-- Version
Microsoft SQL Server 2000 - 8.00.194 (RTM)

--IDE
Microsoft Visual Basic .NET 69586-005-0752106-18348

--Question
В дизайнере сделал template control checkbox для пометки позиции редактирования/удаления
Формирую с помощью кода элементы BoundColumn grid - а в проце BindDataGrid

public void BindDataGrid()
{
try
{
if (this.listboxSkv.SelectedIndex > -1) // &&

this.listboxSkv.SelectedIndex<this.listboxSkv.Items.Count)
{
GP.skv_id =

System.Convert.ToInt32(this.listboxSkv.Items[this.listboxSkv.SelectedIndex].Value);
}
else
{
GP.skv_id = System.Convert.ToInt32(this.listboxSkv.Items[0].Value);
}
string strSQL = "SELECT MEASUR_ID, MEASUREMENT_DATE, HEADER_ID, SKV_ID,

DATA_TYPE_ID, SOURCE_ID, WORK_STATUS_ID, P_BUF, P_ZAT, P_LIN, P_MEZ, NOMSKV, WORK_STATUS, EVENT_DATE,

SKV_EVENT FROM viewGAS_MEAS" +
" WHERE (SKV_ID = " + this.GP.skv_id.ToString() + ") " +
" AND (DATEPART(yy,MEASUREMENT_DATE) = " +

this.GP.dtWork.Year.ToString() + ") " +
" AND (DATEPART(mm,MEASUREMENT_DATE) = " +

this.GP.dtWork.Month.ToString() + ") " +
" AND (DATEPART(dd,MEASUREMENT_DATE) = " +

this.GP.dtWork.Day.ToString() + ") ORDER BY MEASUREMENT_DATE";
SqlDataAdapter dataadapterGAS7 = new SqlDataAdapter(strSQL, GP.strConn);
DataSet datasetGAS7 = new DataSet();
datasetGAS7.Clear();
this.DataGrid1.AutoGenerateColumns = false;
this.DataGrid1.DataSource = datasetGAS7;
this.DataGrid1.DataMember = "viewGAS_MEAS";
this.DataGrid1.DataKeyField = "MEASUR_ID";

BoundColumn dgc_nomskv = new BoundColumn();
dgc_nomskv.DataField = "nomskv";
dgc_nomskv.HeaderText = "Скважина";
dgc_nomskv.ItemStyle.Width = new Unit(100);
dgc_nomskv.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_nomskv.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_nomskv.ReadOnly = true;
DataGrid1.Columns.Add(dgc_nomskv);

BoundColumn dgc_dtmeas = new BoundColumn();
dgc_dtmeas.DataField = "MEASUREMENT_DATE";
dgc_dtmeas.HeaderText = "Дата замера";
dgc_dtmeas.ItemStyle.Width = new Unit(300);
dgc_dtmeas.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_dtmeas.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_dtmeas.ReadOnly = true;
DataGrid1.Columns.Add(dgc_dtmeas);

BoundColumn dgc_work_status = new BoundColumn();
dgc_work_status.DataField = "work_status";
dgc_work_status.HeaderText = "Оценка состояния";
dgc_work_status.ItemStyle.Width = new Unit(140);
dgc_work_status.ItemStyle.HorizontalAlign =

System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_work_status.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_work_status.ReadOnly = true;
DataGrid1.Columns.Add(dgc_work_status);

BoundColumn dgc_p_buf = new BoundColumn();
dgc_p_buf.DataField = "P_BUF";
dgc_p_buf.HeaderText = "Рбуф, кг/см2";
dgc_p_buf.ItemStyle.Width = new Unit(40);
dgc_p_buf.ItemStyle.Width = new Unit(40);
dgc_p_buf.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_p_buf.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
DataGrid1.Columns.Add(dgc_p_buf);

BoundColumn dgc_p_zat = new BoundColumn();
dgc_p_zat.DataField = "P_ZAT";
dgc_p_zat.HeaderText = "Рзатр, кг/см2";
dgc_p_zat.ItemStyle.Width = new Unit(40);
dgc_p_zat.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_p_zat.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
DataGrid1.Columns.Add(dgc_p_zat);

BoundColumn dgc_p_lin = new BoundColumn();
dgc_p_lin.DataField = "P_LIN";
dgc_p_lin.HeaderText = "Рлин, кг/см2";
dgc_p_lin.ItemStyle.Width = new Unit(40);
dgc_p_lin.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_p_lin.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
DataGrid1.Columns.Add(dgc_p_lin);

BoundColumn dgc_p_mez = new BoundColumn();
dgc_p_mez.DataField = "P_MEZ";
dgc_p_mez.HeaderText = "Рмеж, кг/см2";
dgc_p_mez.ItemStyle.Width = new Unit(40);
dgc_p_mez.ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_p_mez.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
DataGrid1.Columns.Add(dgc_p_mez);

BoundColumn dgc_event_date = new BoundColumn();
dgc_event_date.DataField = "event_date";
dgc_event_date.HeaderText = "Дата обслуж-ния";
dgc_event_date.ItemStyle.Width = new Unit(40);
dgc_event_date.ItemStyle.HorizontalAlign =

System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_event_date.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_event_date.ReadOnly = true;
DataGrid1.Columns.Add(dgc_event_date);

BoundColumn dgc_skv_event = new BoundColumn();
dgc_skv_event.DataField = "SKV_EVENT";
dgc_skv_event.HeaderText = "Обслуж-ние скв-ны";
dgc_skv_event.ItemStyle.Width = new Unit(340);
dgc_skv_event.ItemStyle.HorizontalAlign =

System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_skv_event.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_skv_event.ReadOnly = true;
DataGrid1.Columns.Add(dgc_skv_event);

BoundColumn dgc_measur_id = new BoundColumn();
dgc_measur_id.DataField = "MEASUR_ID";
dgc_measur_id.HeaderText = "Обслуж-ние скв-ны";
dgc_measur_id.ItemStyle.Width = new Unit(340);
dgc_measur_id.ItemStyle.HorizontalAlign =

System.Web.UI.WebControls.HorizontalAlign.Center;
dgc_measur_id.ItemStyle.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Middle;
dgc_measur_id.ItemStyle.Width = new Unit(340);
dgc_measur_id.ReadOnly = true;
DataGrid1.Columns.Add(dgc_measur_id);

dataadapterGAS7.Fill(datasetGAS7, "viewGAS_MEAS");
dataadapterGAS7.Dispose();
this.EditItemIndex_Clear();
this.DataGrid1.DataBind();

}
catch(Exception e)
{
string ret = "Ошибка BindDataGrid: \n";
throw new Exception(ret+" : "+e.ToString());
}
}

В процедуре
private void buttonEditMeas_Click(object sender, System.EventArgs e)
{
string strcurItemIndex = "-1";
int i = 0;
foreach(DataGridItem dgi in this.DataGrid1.Items)
{
if((dgi.Cells[0].FindControl("checkboxEdit") as CheckBox).Checked)
{
strcurItemIndex = dgi.ItemIndex.ToString();
string key = this.DataGrid1.DataKeys .ToString();
TextBox tb = (dgi.Cells[1].FindControl("dgc_nomskv") as TextBox);
string strnomskv = System.Convert.ToString(tb.Text);
}
i++;
}

код TextBox tb = (dgi.Cells[0].FindControl("dgc_nomskv") as TextBox); не работает.
Пробовал обращаться к коллекции
TextBox tb = (dgi.Cells[1].Control[0] as TextBox);
Нет.
Что ж получается, надо было все эти заданные в коде BoundColumn сделать в дизайнере?
Но ведь они должны быть textbox в Template.EditItem, чтобы в явном виде
к ним можно было обратиться и получить значения.
И как их перевести из BoundColumn в Template.EditItem? В дизайнере? Подскажите хоть, где копать ответ.
Помогите новичку. Туплю, не могу понять, что сделал неправильно.
...
Рейтинг: 0 / 0
значения datagrid в режиме edit
    #33091704
SERGOD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РАЗОБРАЛСЯ
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / значения datagrid в режиме edit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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