Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
значения datagrid в режиме edit
|
|||
|---|---|---|---|
|
#18+
-- 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? В дизайнере? Подскажите хоть, где копать ответ. Помогите новичку. Туплю, не могу понять, что сделал неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2005, 12:48 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=990&tid=1394009]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 411ms |

| 0 / 0 |
