2014-12-11 6 views
0

Я фильтрую gridview на выбор значений из выпадающего списка. Проблема в том, что когда я выбираю любое значение, оно дает мне правильный результат, но когда я выбираю значение по умолчанию, значение Select the value gridview все равно дает мне ошибку как No Records Found.Ошибка запуска панели обновления

Я попытался реализовать панель обновления для этого, чтобы с ней можно было справиться. Но я столкнулся с ошибкой, как показано ниже:

Не удалось найти событие с именем «Нажмите» на связанном контроле «grdCSRPageData» для триггера в UpdatePanel «updgridPage».

Пожалуйста, смотрите мой код, как я для панели обновления: -

<asp:UpdatePanel ID="updgridPage" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 
       <asp:GridView ID="grdCSRPageData" runat="server" Width="100%" border="1" Style="border: 1px solid #E5E5E5;" CellPadding="3" 
        AutoGenerateColumns="False" OnDataBound="grdCSRPageData_DataBound" AllowPaging="true" CssClass="hoverTable" EmptyDataText="No Records Found" 
        OnPageIndexChanging="grdCSRPageData_PageIndexChanging" DataKeyNames="Id" OnRowDeleting="grdCSRPageData_RowDeleting" 
        PageSize="5" ShowFooter="true" OnRowEditing="grdCSRPageData_RowEditing" OnRowUpdating="grdCSRPageData_RowUpdating" 
        OnRowCancelingEdit="grdCSRPageData_RowCancelingEdit"> 
        <AlternatingRowStyle CssClass="k-alt" BackColor="#f5f5f5" /> 
        <Columns> 
         <asp:TemplateField HeaderText="Select" HeaderStyle-Width="5%" HeaderStyle-CssClass="k-grid td"> 
          <ItemTemplate> 
           <asp:CheckBox ID="chkSelect" runat="server" AutoPostBack="false" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:BoundField DataField="page_title" HeaderText="Page Title" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:BoundField DataField="page_description" HeaderText="Page Description" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:BoundField DataField="meta_title" HeaderText="Meta Title" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:BoundField DataField="meta_keywords" HeaderText="Meta Keywords" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:BoundField DataField="meta_description" HeaderText="Meta Description" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:BoundField DataField="Active" HeaderText="Active" ItemStyle-Width="30" HeaderStyle-CssClass="k-grid td" /> 
         <asp:TemplateField HeaderText="Action" HeaderStyle-Width="15%" HeaderStyle-CssClass="k-grid td"> 
          <ItemTemplate> 
           <asp:ImageButton ID="btnDelete" AlternateText="Delete" ImageUrl="~/images/delete.png" runat="server" Width="15" Height="15" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' CausesValidation="false" OnClientClick="return confirm('Are you sure you want to delete this record?')" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:CommandField ButtonType="Image" ItemStyle-Width="15" EditImageUrl="~/images/edit.png" ShowEditButton="True" ControlStyle-Width="15" ControlStyle-Height="15" CancelImageUrl="~/images/close.png" UpdateImageUrl="~/images/update.png"> 
          <ControlStyle Height="20px" Width="20px"></ControlStyle> 
         </asp:CommandField> 
        </Columns> 
       </asp:GridView> 
      </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="grdCSRPageData" EventName="Click" /> 
      </Triggers> 
     </asp:UpdatePanel> 

Дайте мне знать, какие изменения я должен сделать.

фильтр код GridView: -

<asp:DropDownList ID="ddlPagesNgo" runat="server" CssClass="selectpicker form-control-drp wd" Style="width: 100%" AutoPostBack="true" OnSelectedIndexChanged="ddlPagesNgo_SelectedIndexChanged"></asp:DropDownList> 

SelectedIndexChangedCode: -

protected void ddlPagesNgo_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     BindGridView(ddlPagesNgo.SelectedValue); 
    } 

BindGridView Код: -

public void BindGridView(string NgoId) 
    { 
     string strQuery = "select Id,page_title,page_description,meta_title,meta_keywords,meta_description,Active from tbl_Pages WHERE NgoId=" + NgoId + " ORDER By Id DESC"; 
     SqlCommand cmd = new SqlCommand(strQuery); 
     DataTable dt = GetData(cmd); 
     grdCSRPageData.DataSource = dt; 
     grdCSRPageData.DataBind(); 
    } 

дайте мне знать, если вам нужно что-нибудь еще

+0

'GridView' дос не событие щелчка, как говорит об ошибке. Какое событие вы хотите связать с триггером? –

+0

Я хочу, чтобы раскрывающийся список был выбран по умолчанию. Должно появиться значение gridview по умолчанию. в настоящее время он показывает мне «Нет записей» –

+0

@BenRobinson: Я хочу, чтобы раскрывающийся список был выбран по умолчанию. Должно появиться значение gridview по умолчанию. в настоящее время он показывает мне «Не найдено записей» Любая помощь по этим –

ответ

1

используйте этот код. Ваша ошибка в том, нажмите EventName неправильно

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="grdCSRPageData" EventName="PageIndexChanging" /> 
</Triggers> 
+0

Я применил, но когда я выбираю выбор по умолчанию из раскрывающегося списка, я все равно получаю «Нет записей». вы можете помочь мне с этим –

0

Понял сделать, положив, если иное условие

public void BindGridView(string NgoId) 
    { 
     string strQuery = null; 

     if (NgoId != "0") 
      strQuery = "select Id,page_title,page_description,meta_title,meta_keywords,meta_description,Active from tbl_Pages WHERE NgoId=" + NgoId + " ORDER By Id DESC"; 
     else 
      strQuery = "select Id,page_title,page_description,meta_title,meta_keywords,meta_description,Active from tbl_Pages ORDER By Id DESC"; 

     SqlCommand cmd = new SqlCommand(strQuery); 
     DataTable dt = GetData(cmd); 
     grdCSRPageData.DataSource = dt; 
     grdCSRPageData.DataBind(); 
    } 
Смежные вопросы