Anuragintit Ответов: 1

Я не могу получить подробную информацию о моих labels.text , но могу получить значение текстового поля в первый раз


recently I changed my GridView so it was able to add rows dynamically. The problem is, when I insert the data, I'm getting blank value at first.

I'm unable to get the details of my labels.text , but are able to get the text box value the first time. When the loop continues, I get 1 row of value from the label and 2 rows of value from the text box.


GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);

    TableHeaderCell cell = new TableHeaderCell();
    cell.Text = "Details";
    cell.ColumnSpan = 3;
    row.Controls.Add(cell);


    cell = new TableHeaderCell();
    cell.Text = "Year 2018";
    cell.ColumnSpan = 4;
    row.Controls.Add(cell);

    cell = new TableHeaderCell();
    cell.ColumnSpan = 4;
    cell.Text = "Year 2019";
    row.Controls.Add(cell);

     cell = new TableHeaderCell();
    cell.Text = "Others";
    cell.ColumnSpan = 3;
    row.Controls.Add(cell);


Что я уже пробовал:

Label CenterId = (Label)row.FindControl("CenterId") as Label;
              string CenterId_no = Convert.ToString(CenterId.Text);


            TextBox txt_lastyearonDate = (TextBox)row.FindControl("txt_lastyearonDate") as TextBox;

            float py_ondte = float.Parse(txt_lastyearonDate.Text);

Richard MacCutchan

Convert.ToString(CenterId.Text);

Почему вы преобразуете текстовую строку в текстовую строку?

Кроме того, вы не объяснили, какой предмет является тем, который не имеет никакой ценности.

Anuragintit

Получая год на этой части, он показывает ввод не в правильной форме, так как он пуст в первый раз

Метка lbl_lastyear_beforedate = (метка)строка.FindControl("lbl_lastyear_beforedate") в качестве метки;
поплавок PY_Bdte = поплавок.Синтаксический анализ(lbl_lastyear_beforedate.Текст);

Richard MacCutchan

Поэтому вам нужно посмотреть на свои данные, чтобы понять, почему они не в правильном формате. К сожалению, мы не можем видеть ваш экран с удаленных сайтов.

Anuragintit

&ЛТ;в ASP:GridView в идентификатор="GvList" атрибут runat="сервер" autogeneratecolumns="false" - в onrowdatabound="GvList_RowDataBound" showfooter="правда"и GT;
<колонки>

<asp:templatefield headertext="идентификатор Центра измерений">
<itemtemplate>

&ЛТ;АСП:метка идентификатор="CenterId" атрибут runat="сервер" текст="&ЛТ;%#Ивала("CenterId") %&ГТ;" &ГТ;


<headerstyle width="4%" horizontalalign="Center" cssclass="thead_cell">
<itemstyle horizontalalign="Center" width="4%">



<asp:templatefield headertext="сегодняшние данные">
<itemtemplate>

&ЛТ;АСП:текстовое поле с ID="txt_lastyearonDate_Rain" атрибут runat="сервер" текст="&ЛТ;%#Ивала("py_raintoday") %&ГТ;" ondrop="возвращение ложным;" onpaste="возвращение ложным;"

автозаполнение="выкл.">


<controlstyle width="90%">
<headerstyle width="4%" horizontalalign="Center" cssclass="thead_cell">
<itemstyle horizontalalign="Center" width="4%">

<footertemplate>
&ЛТ;АСП:метка идентификатор="lbl_pytoday" атрибут runat="сервер" цвет="черный" стиль="дисплей:блок; обивка:0; текст-выровняйте: центр"&ГТ;



<asp:templatefield headertext="Select Type">
<itemtemplate>

&ЛТ;как ASP:dropdownlist с ИД="ddl_type" атрибут runat="сервер"и GT;


<controlstyle width="100%">
<headerstyle width="3%" horizontalalign="Center" cssclass="thead_cell">
<itemstyle horizontalalign="Center" width="3%">




------------------------------------------------------------------------------------------------
Кодовая Сторона

охраняемых недействительными GvList_DataBound(объект отправителя, EventArgs в электронной)
{
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Заголовок, DataControlRowState.Обычный);

Ячейка TableHeaderCell = новая ячейка TableHeaderCell();
ячейка.Text = "Подробности";
ячейка.ColumnSpan = 3;
ряд.Управления.Добавить(ячейка);


ячейка = новый TableHeaderCell();
ячейка.Text = "Год 2018";
ячейка.ColumnSpan = 4;
ряд.Управления.Добавить(ячейка);

ячейка = новый TableHeaderCell();
ячейка.ColumnSpan = 4;
ячейка.Text = "Год 2019";
ряд.Управления.Добавить(ячейка);

ячейка = новый TableHeaderCell();
ячейка.Text = "Другие";
ячейка.ColumnSpan = 4;
ряд.Управления.Добавить(ячейка);

// ряд.BackColor = ColorTranslator.FromHtml("#3AC0F2");
GvList.Строку заголовка.Родитель.Управления.AddAt(0, строка);
}

------------------------Отправить нажмите кнопку--------------------
foreach (строка GridViewRow в GvList.Rows)

{
Label CenterId = (метка)строка.FindControl("CenterId") в качестве метки;
строка CenterId_no = CenterId.Текст;

DropDownList ddl = (DropDownList)строка.FindControl("ddl_type") как выпадающий список;
строка dropdown_value = ddl.SelectedValue;

TextBox txt_lastyearonDate_Rain = (текстовое поле)строка.FindControl("txt_lastyearonDate_Rain") в виде текстового поля;

поплавок py_ondte = поплавок.Синтаксический анализ(txt_lastyearonDate_Rain.Текст);

}

-----------------

1 Ответов

Рейтинг:
1

OriginalGriff

Вы не показываете нам никакого элемента управления с каким - либо конкретным идентификатором-так что же заставляет вас думать, что FindControl вернет что-нибудь?
Попробуй

Label CentreID = row.Cells[1].Controls[0] as Label;

Или
string s = (string) row.Cells[1].Value;