C# FindControl TextBox в GridView - PullRequest
       45

C# FindControl TextBox в GridView

0 голосов
/ 06 апреля 2020

У меня есть этот код на моей странице aspx:

<asp:TemplateField HeaderText="Déroulement de l'incident : ">
<EditItemTemplate>
    <asp:GridView ID="flowGV" runat="server" ShowFooter="true" AutoGenerateColumns="false" GridLines="None" ShowHeader="true" OnRowDeleting="flowGV_RowDeleting">
        <Columns>
            <asp:TemplateField HeaderText="Date/Heure">
                <ItemTemplate>
                    <asp:TextBox ID="RIW_F_DateTxt" runat="server" Text='<%# GetDate(Eval("RIW_F_Date")) %>' MaxLength="10"></asp:TextBox>                                                                                                         
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Description">
                <ItemTemplate>
                    <asp:TextBox ID="RIW_F_FlowTxt" runat="server" Text='<%# Eval("RIW_F_Flow") %>' MaxLength="1000" Width="400px" Height="50px" TextMode="MultiLine"></asp:TextBox>
                </ItemTemplate>
                <FooterStyle HorizontalAlign="Right" />
                <FooterTemplate>
                    <asp:Button ID="addFlowBtn" runat="server" Text="+" OnClick="addFlowBtn_Click"/>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowDeleteButton="true" />
        </Columns>
    </asp:GridView>
    <asp:ObjectDataSource ID="flowODS" runat="server" DeleteMethod="Delete" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="GetDataByRIW" TypeName="RapportsIncidentWebApp.DAL.RapportsIncidentDataSetTableAdapters.RIW_FLOWSTableAdapter" UpdateMethod="Update">
        <SelectParameters>
            <asp:QueryStringParameter Name="RIW_F_RIW_RIWParam" QueryStringField="id" Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>
</EditItemTemplate>

В моем коде страницы cs у меня есть этот код:

foreach (Column oneCol in col)
{
   TextBox txtBox = (TextBox)GV.Rows[rowIndex].Cells[1].FindControl(oneCol.name + "Txt");
   txtBox.Text = dt.Rows[i][oneCol.name].ToString();                           
}

столбец в массив объектов с именем столбца и типом столбца.

Здесь у меня есть объекты: RIW_F_Date et RIW_F_Flow

В строке

TextBox txtBox = (TextBox)GV.Rows[rowIndex].Cells[1].FindControl(oneCol.name + "Txt"),

элемент управления RIW_F_DateTxt не найден, и поэтому строка возвращает null.It работает для элемента управления RIW_F_FlowTxt.

Единственное различие между этими элементами управления заключается в типе данных в базе данных RIW_F_DateTxt - это DateTime.

Я не могу найти свою ошибку. Все работают с тип данных строки, но не для этого только DateTime.

Можете ли вы помочь мне?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...