2015-10-27 2 views
-1

Я принял код от here и реализован в моем проекте, проблема в том, что он отлично работает в IE. Но не работает на ХРОМOnEditable текстовое поле gridview, не работающее в Chrome

Вот мой код: -

<cc1:Grid ID="GrdConfirmation" EnableTypeValidation="true" runat="server" Width="100%" 
    ShowFooter="false" AllowAddingRecords="true" AllowSorting="false" AutoGenerateColumns="false" 
    FolderStyle="../Styles/Grid/style_12"> 
    <ClientSideEvents OnClientSelect="GrdConfirmation_OnClientSelect" /> 
     <Columns> 
     <cc1:Column ID="Column1" DataField="MKEY" HeaderText="Select" ReadOnly="true" Width="3%" 
      runat="server"> 
      <TemplateSettings TemplateId="gtchkConfirm" HeaderTemplateId="HTConfirm" /> 
     </cc1:Column> 
     <cc1:Column ID="Sr_No" DataField="Sr_No" HeaderText="Sr No" Visible="false" Width="0%"> 
      <TemplateSettings TemplateId="tplNumbering" /> 
     </cc1:Column> 
     <cc1:Column ID="col_save_srno" DataField="save_srno" HeaderText="Sr.No" Visible="true" 
      Width="3%" Align="left"> 
     </cc1:Column> 
     <cc1:Column ID="Line_Id" DataField="Line_Id" HeaderText="Line id" Visible="false" 
      Align="left" Width="0%"> 
     </cc1:Column> 
     <cc1:Column ID="Item_Mkey" DataField="Item_Mkey" HeaderText="Item Mkey" Visible="false" 
      Align="center" Width="0%"> 
     </cc1:Column> 
     <cc1:Column ID="Item_Code" DataField="Item_Code" HeaderText="Item Code" Visible="true" 
      Align="left" Width="5%"> 
     </cc1:Column> 
     <cc1:Column ID="Item_Desc" DataField="Item_Desc" HeaderText="Item Description" Visible="true" 
      Align="left" Width="13%" Wrap="true" HeaderStyle-Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="Lot_Batch_No" DataField="Lot_Batch_No" HeaderText="Lot/Batch No." 
      Visible="true" Align="left" Width="7%" Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="Exp_Dt" DataField="Exp_Dt" HeaderText="Exp Date" Visible="true" Align="left" 
      Width="7%" Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="QTY1" DataField="Qty" HeaderText=" Quantity" Visible="true" Width="6%" 
      Align="center"> 
     </cc1:Column> 
     <cc1:Column ID="Bx_Bg" DataField="Bx_Bg" HeaderText="Boxes/Bags" Visible="true" Width="6%" 
      Align="center"> 
     </cc1:Column> 
     <cc1:Column ID="Net_Wgt" DataField="Net_Wgt" HeaderText="Net Weight" Visible="true" HeaderAlign="center" 
      Width="6%" Align="center"> 
     </cc1:Column> 
     <cc1:Column ID="NO_OF_PALLETS" DataField="NO_OF_PALLETS" HeaderText="No Of Pallets" HeaderAlign="center" 
      Visible="true" Align="center" Width="5%" Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="Default_Allot" DataField="Default_Allot" HeaderText="Allocated Storage Bin No." 
      Visible="true" Width="10%" Align="center" Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="Confirmed_Allot" DataField="Confirmed_Allot" HeaderText="Confirmed Storage Bin No." 
      Visible="true" Width="10%" Align="center" Wrap="true"> 
      <TemplateSettings TemplateId="PlainEditTemplate" /> 
     </cc1:Column> 
     <cc1:Column ID="Storage_type" DataField="Storage_type" HeaderText="Storage Type" 
      Visible="false" Width="0%" Align="center" Wrap="true"> 
     </cc1:Column> 
     <cc1:Column ID="Damaged_Qty" DataField="Damaged_Qty" HeaderText="Damaged Qty in Units" 
      Visible="true" Width="5%" Align="center" Wrap="true"> 
      <TemplateSettings TemplateId="PlainEditTemplate" /> 
     </cc1:Column> 
     <cc1:Column ID="Short_Fall_Excess" DataField="Short_Fall_Excess" HeaderText="Shortfall/ excess qty in units" 
      Visible="true" Width="5%" Align="center" Wrap="true"> 
      <TemplateSettings TemplateId="PlainEditTemplate" /> 
     </cc1:Column> 
    </Columns> 
    <Templates> 
     <cc1:GridTemplate runat="server" ID="PlainEditTemplate"> 
      <Template> 
       <asp:TextBox runat="server" ID="txtconfirm" CssClass="excel-textbox" onfocus="markAsFocused(this)" 
        onblur="markAsBlured(this)" /> 
      </Template> 
     </cc1:GridTemplate> 
    </Templates> 
    <AddEditDeleteSettings AddLinksPosition="Bottom" NewRecordPosition="Dynamic" /> 
    <Templates> 
     <cc1:GridTemplate runat="server" ID="GridTemplate1"> 
      <Template> 
       <input id="txttemp" type="text" /> 
      </Template> 
     </cc1:GridTemplate> 
    </Templates> 
    <Templates> 
     <cc1:GridTemplate runat="server" ID="HTConfirm"> 
      <Template> 
       <input type="checkbox" onclick="toggleSelection(this)" id="ChkSelector" /> 
      </Template> 
     </cc1:GridTemplate> 
     <cc1:GridTemplate runat="server" ID="gtchkConfirm"> 
      <Template> 
       <asp:CheckBox ID="chk_grid" runat="server" /> 
      </Template> 
     </cc1:GridTemplate> 
    </Templates> 
    <Templates> 
     <cc1:GridTemplate runat="server" ID="TextBoxEditTemplate"> 
      <Template> 
       <input type="text" name="TextBox1111" id="Txtconfirm<%# (Container.RecordIndex) %>" 
        class="excel-textbox" readonly="readonly" onfocus="GrdConfirmation.editWithTextBox(this)" /> 
      </Template> 
     </cc1:GridTemplate> 
     <cc1:GridTemplate runat="server" ID="tplNumbering"> 
      <Template> 
       <b> 
        <%# (Container.RecordIndex + 1)%> 
       </b> 
      </Template> 
     </cc1:GridTemplate> 
     <cc1:GridTemplate ID="TemplateWithCheckbox"> 
      <Template> 
       <asp:CheckBox runat="server" ID="ChkID" ToolTip="<%# Container.Value %>" /> 
      </Template> 
     </cc1:GridTemplate> 
    </Templates> 
</cc1:Grid> 

Вот родственный Javascript функция, я реализовал

function toggleSelection(checkbox) { 
     var con = confirm("Do you want check/unckeck all"); 
     if (con == true) { 

      for (var ii = 0; ii < GrdConfirmation.getTotalNumberOfRecords(); ii++) { 
       var idt = "GrdConfirmation_ob_GrdConfirmationBodyContainer_ctl34_" + ii + "_ctl00_" + ii + "_txtconfirm_" + ii; 
       var idc = "GrdConfirmation_ob_GrdConfirmationBodyContainer_ctl02_" + ii + "_ctl00_" + ii + "_chk_grid_" + ii; 

       if (document.getElementById(checkbox.id).checked == true) { 
        document.getElementById(idt).value = GrdConfirmation.Rows[ii].Cells[13].Value; 
        // alert(GrdConfirmation.Rows[ii].Cells[13].Value); 
        document.getElementById(idc).checked = true; 
       } 
       else { 
        document.getElementById(idt).value = ""; 
        document.getElementById(idc).checked = false; 
       } 
      } 
     } 
    } 

Я попытался отладки мой код в Console и ниже скриншот для ошибок, которые наступали.

Ошибка была

Не удалось загрузить ресурс: сервер ответил со статусом 404 (Not Found)

Chrome console error screenshot

+0

Что не нашли? Не указывайте фотографии ошибок, пожалуйста, вставьте текст или включите полную ошибку на изображении. –

+0

@ HanletEscaño: На самом деле на странице нет ** ошибок **, единственное, что эта функция не работает в 'chrome' – BNN

+0

Он ищет ресурсы, которые недоступны, либо вы должны размещать ресурсы на одном и том же место или удалить, где бы вы ни использовали этот ресурс. –

ответ

0

После так много исследований, я, наконец, удалось чтобы получить ответ,

Я просто добавил одно свойство, где я хотел отредактировать текстовое поле

AllowEdit="true" 

Вот полный код: -

<cc1:Column ID="Confirmed_Allot" DataField="Confirmed_Allot" HeaderText="Confirmed Storage Bin No." 
      Visible="true" Width="10%" Align="center" Wrap="true" AllowEdit="true" > 
      <TemplateSettings TemplateId="PlainEditTemplate" /> 
     </cc1:Column>