Как прочитать значение из колонки шаблонов ASP.net TextBox в JavaScript - PullRequest
0 голосов
/ 06 января 2012

Я пытаюсь прочитать значение ячеек из элемента управления asp.net GridView в JavaScript сайта клиента.Ниже представлен мой HTML-вид GridView.

<asp:GridView 
ID="GridView1" 
runat="server" 
AutoGenerateColumns="False" 
Width="596px" 
DataKeyNames="Key" >

<Columns>
    <asp:BoundField DataField="Key" HeaderText="Key" SortExpression="key" Visible="False" />
    <asp:BoundField DataField="StockId" HeaderText="StockId" Visible="False" />
    <asp:BoundField DataField="Freq1" HeaderText="Freq1" Visible="False" />
    <asp:BoundField DataField="Freq2" HeaderText="Freq2" Visible="False" />     

    <asp:BoundField DataField="MedicineName" HeaderText="MedicineName" ReadOnly="true" />

    <asp:TemplateField HeaderText="DoseQty" >                                                        
        <ItemTemplate>
            <asp:TextBox ID="txtDoseQty" Text='<%# Bind("DoseQty") %>' runat="server"
            Height="23px" Width="38px" onchange="javascript:dataChange(event);" ></asp:TextBox>
        </ItemTemplate>
    </asp:TemplateField>

    <asp:BoundField DataField="DoseUOM" HeaderText="DoseUOM" ReadOnly="true" />

    <asp:TemplateField HeaderText="Duration">
        <EditItemTemplate>
            <asp:TextBox ID="Duration" runat="server" Height="16px" 
                Text='<%# Bind("Duration") %>' Width="45px" onkeypress="return isNumberKey(event);"></asp:TextBox>
        </EditItemTemplate>
        <ItemTemplate>
            <asp:Label ID="lblDuration" Text='<%# Bind("Duration") %>'  runat="server"></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Delete All">
        <HeaderTemplate>
            <asp:CheckBox ID="chkHeaderDelete" runat="server" Text="Delete All" 
                onclick="javascript:SelectheaderCheckboxes(this)" />                                                            
        </HeaderTemplate>
        <ItemTemplate>
            <asp:CheckBox ID="chkItemDelete" runat="server" AutoPostBack="true"
                Text="Delete" onclick="javascript:SelectitemCheckboxes(this)"  />
        </ItemTemplate>
    </asp:TemplateField>

    <asp:CommandField HeaderText="Update" 
        ShowEditButton="True"                                                         
        CausesValidation="false"  />

</Columns>

Я использую функцию javascript для чтения этого вида сетки.

var grid = document.getElementById("<%= GridView1.ClientID %>");
var OutputString = "";
if (grid.rows.length > 0) {
for (i = 1; i < grid.rows.length - 1; i++) {
    for (j = 0; j < grid.rows[i].cells.length; j++) {
        OutputString += "grid.rows[i].cells[" + j + "]  :" + grid.rows[i].cells[j] +
            "\ngrid.rows[i].cells[" + j + "].innerText :" + grid.rows[i].cells[j].innerText;
        OutputString += "\n\n";             
    }
}
}

Вот мой вывод.

---------------------------
Message from webpage
---------------------------
grid.rows[i].cells[0]  :[object]
grid.rows[i].cells[0].innerText :Abd pant XXXL

grid.rows[i].cells[1]  :[object]
grid.rows[i].cells[1].innerText : 

grid.rows[i].cells[2]  :[object]
grid.rows[i].cells[2].innerText :Pieces

grid.rows[i].cells[3]  :[object]
grid.rows[i].cells[3].innerText :1 

grid.rows[i].cells[4]  :[object]
grid.rows[i].cells[4].innerText :Delete 

grid.rows[i].cells[5]  :[object]
grid.rows[i].cells[5].innerText :Edit

---------------------------
OK   
---------------------------

Моя проблема в том, что я не знаю, как получить значение из grid.rows [i] .cells [1], который включает ASP.net TextBox Control как TemplateColumn.

Каждое предложениебудет очень признателен.

1 Ответ

3 голосов
/ 06 января 2012
 function getgridvalue()
     {
      // Call this on button click
     Array obj;
      var gridview=document.getElementById("<GridView ID here>"); //Grab a reference to the Grid
      for (i=1;i<gridview.rows.length;i++) //Iterate through the rows
       {
        obj[i]=gridview.rows[i].cells[1].firstChild.value; //get the values
       }

     }

вот приблизительный подход. Надеюсь, это поможет.

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