Как получить значение текстового поля в в RadGrid - PullRequest
0 голосов
/ 31 января 2020

У меня есть Radgrid, который показывает выбранные инструменты из другой таблицы, чтобы сохранить эти данные в базе данных «запроса». Мне нужно иметь возможность добавлять дополнительную информацию помимо данных от выбранных инструментов, информацию, предоставленную пользователем об инструментах, например, добавление "примечания" при необходимости к выбранному инструменту.

Я смог добавить в каждую строку радара текстовое поле, чтобы пользователь мог добавить примечание туда, но пока я не могу получить данные, записанные в этих текстовых полях

Это код my RadGrid

<telerik:RadGrid ID="rgHtasSeleccionadas" runat="server" GroupingSettings-CaseSensitive="false" RenderMode="Lightweight" AllowPaging="True" AllowSorting="true" AllowFilteringByColumn="True" PageSize="5" OnNeedDataSource="rgHtasSeleccionadas_NeedDataSource" OnItemCommand="rgHtasSeleccionadas_ItemCommand" CssClass="RadGrid_Silk" EnableHeaderContextMenu="true" GridLines="None" Width="100%" BackColor="Gray" AlternatingItemStyle-BackColor="SteelBlue">
        <HeaderContextMenu Enabled="false"></HeaderContextMenu>
               <MasterTableView AutoGenerateColumns="false" DataKeyNames="IdHerramienta" ItemStyle-HorizontalAlign="Center" AlternatingItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" NoMasterRecordsText="<%$ Resources:Language, lbl_tablaVacia %>">
                                <Columns>
                                    <telerik:GridBoundColumn DataField="IdHerramienta" ReadOnly="true" Display="false"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Codigo" HeaderText="<%$ Resources:Language, lbl_rg_codigo %>" Display="true" ReadOnly="true" AllowFiltering="false" HeaderStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="NombreCorto" HeaderText="<%$ Resources:Language, lbl_rg_nombre %>" Display="true" ReadOnly="true" AllowFiltering="false" HeaderStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Descripcion" HeaderText="<%$ Resources:Language, lbl_rg_descripcion %>" Display="true" ReadOnly="true" AllowFiltering="false" HeaderStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Cantidad" HeaderText="<%$ Resources:Language, lbl_rg_cantidad %>" Display="true" ReadOnly="true" AllowFiltering="false" HeaderStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                    <telerik:GridNumericColumn DataField="Costo" HeaderText="<%$ Resources:Language, lbl_rg_costo %>" Display="false" ReadOnly="true" AllowFiltering="false" DataType="System.Decimal" NumericType="Number" SortExpression="Costo" UniqueName="Costo" ></telerik:GridNumericColumn>
                                    <telerik:GridNumericColumn DataField="Gasto" HeaderText="<%$ Resources:Language, lbl_rg_gasto %>" Display="true" ReadOnly="true" AllowFiltering="false" DataType="System.Decimal" NumericType="Number" SortExpression="Gasto" UniqueName="Gasto"></telerik:GridNumericColumn>
                                    <telerik:GridTemplateColumn DataField="Nota" HeaderText="<%$ Resources:Language, lbl_rg_nota %>" UniqueName="Nota" AllowFiltering="false" ReadOnly="true">  
                                        <ItemTemplate>
                                            <asp:Textbox ID="txtNota" runat="server" CssClass="form-control form-control-sm" ></asp:Textbox> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn>
                                </Columns>
                                <PagerStyle PageSizeLabelText="<%$ Resources:Language, lbl_hoja %>"/>
                 </MasterTableView>
</telerik:RadGrid>

Код кнопки Сохранить

protected void btnLevantaPeticion_OnClick(object sender, EventArgs e)
        {
            try
            {
                var dtHtasSeleccionadas = (Session["dtHtasSeleccionadas"] != null) ? (DataTable)Session["dtHtasSeleccionadas"] : new DataTable();
                var Folio = CDatos.SP_PeticionesAlmacen.SP_MaxFolio();

                foreach (GridDataItem item in rgHerramientas.MasterTableView.Items)
                {
                    TextBox txtNota = item.FindControl("txtNota") as TextBox;
                    ShowMessage(txtNota.ToString(), "success");
                }

                DataTable dt = (DataTable)Session["dtHtasSeleccionadas"];
                foreach(DataRow dr in dt.Rows)
                {
                    //dtHtasSeleccionadas.Columns.Add("IdHerramienta");
                    //dtHtasSeleccionadas.Columns.Add("Codigo");
                    //dtHtasSeleccionadas.Columns.Add("NombreCorto");
                    //dtHtasSeleccionadas.Columns.Add("Cantidad");
                    //dtHtasSeleccionadas.Columns.Add("Costo", typeof(double));
                    //dtHtasSeleccionadas.Columns.Add("Gasto", typeof(double));
                    //dtHtasSeleccionadas.Columns.Add("Nota");
                    for (int i = 0; i< int.Parse(dr.ItemArray[4].ToString()); i++)
                    {
                        var id2 = CDatos.DDetalles.InsertDetallePeticiones(int.Parse(Folio.ToString()),int.Parse(dr.ItemArray[0].ToString()),1,decimal.Parse(dr.ItemArray[5].ToString()),1,txtNota.ToString());       
                    }
                }
                this.ShowMessage(Resources.Language.mess_peticion, "success");
                }catch (Exception ex) { this.ShowMessage(ex.Message, "danger"); }
        }

Мне нужно сохранить данные каждого TextBox как последний параметр команды вставки

var id2 = CDatos.DDetalles.InsertDetallePeticiones (int.Parse (Folio.ToString ()), int.Parse (dr.ItemArray [0] .ToString ()), 1, десятичный.Parse (dr.ItemArray [ 5] .ToString ()), 1, txtNota.ToString () );

Изображение RadGrid RadGrid

Желаемые результаты

|IdDetalle|Folio|IdHerramienta|Nota         |
|1        |1    |987          |test text 1  |
|2        |1    |892          |test text 2  |

Я уже в состоянии сохранить остальные данные (IdDetalle, Folio и др. c), мне просто нужно добавить данные электронной заметки

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