PDA

View Full Version : عدم نمایش رکورد اول در استفاده از gride



smh_5800
چهارشنبه 22 مهر 1394, 11:13 صبح
سلام
وقتی از SP در SQL Server استفاده می کنم تعداد رکورد یافت شده درست است اما وقتی در ASP.NET به صورت زیر استفاده می کنم تعداد رکورد یافت شده یکی کمتره و پس از بررسی بیشتر متوجه شدم رکورد اولی را نمایش نمی دهد :
protected void btnsearch_Click(object sender, EventArgs e)
{
if (txtserachbox.Text != null && txtserachbox.Text != "" && txtserachbox.Text != " ")
{
try
{
lblsearch.Text = "";
lblmesasge.Text = "";
lblmesasge.Visible = false;
Con = new SqlConnection(dburl);
SqlCommand Cmdarchiveinfo = new SqlCommand("spinfoarchive", Con);
Cmdarchiveinfo.CommandType = CommandType.StoredProcedure;
Cmdarchiveinfo.Parameters.AddWithValue("@textsearchnull", txtserachbox.Text);
Con.Open();
SqlDataReader rdarchiveinfo = Cmdarchiveinfo.ExecuteReader();
rdarchiveinfo.Read();
if (rdarchiveinfo.HasRows)
{
serachtotalrecordfind = rdarchiveinfo.GetInt32(0);// countoftextsearch
lblsearch.Text = "تعداد رکورد های یافت شده جهت عبارت ( " + txtserachbox.Text + " ) : " + serachtotalrecordfind.ToString();
}
gridesearch.DataSource = rdarchiveinfo;
gridesearch.DataSourceID = null;
gridesearch.AllowSorting = true;
gridesearch.DataBind();
Con.Close();
}
catch (Exception ex)
{
lblmesasge.Visible = true;
lblmesasge.Text = " Error : " + ex.Message;
}
}
else
{
lblsearch.Text = "";
lblmesasge.Visible = true;
lblmesasge.Text = "خطا : ورودی نا معتبر می باشد";
}
}

اما وقتی در ASP.NET به صورت زیر استفاده می کنم تعداد رکورد یافت شده درسته :
protected void btnsearch_Click(object sender, EventArgs e)
{
if (txtserachbox.Text != null && txtserachbox.Text != "" && txtserachbox.Text != " ")
{
try
{
lblsearch.Text = "";
lblmesasge.Text = "";
lblmesasge.Visible = false;
Con = new SqlConnection(dburl);
SqlCommand Cmdarchiveinfo = new SqlCommand("spinfoarchive", Con);
Cmdarchiveinfo.CommandType = CommandType.StoredProcedure;
Cmdarchiveinfo.Parameters.AddWithValue("@textsearchnull", txtserachbox.Text);
Con.Open();
SqlDataReader rdarchiveinfo = Cmdarchiveinfo.ExecuteReader();
rdarchiveinfo.Read();
Response.Write(rdarchiveinfo["archiveid"].ToString());
Response.Write("<table><tr><td>Archive ID</td><td>Codee</td><td>Onvan</td></tr>");
while (rdarchiveinfo.Read())
{
Response.Write("<tr><td>"+rdarchiveinfo["archiveid"].ToString()+"</td><td>"+rdarchiveinfo["codee"].ToString()+"</td><td>" +rdarchiveinfo["onvan"].ToString()+"</td></tr>");
}
Response.Write("</tr></table>");
Con.Close();
}
catch (Exception ex)
{
lblmesasge.Visible = true;
lblmesasge.Text = " Error : " + ex.Message;
}
}
else
{
lblsearch.Text = "";
lblmesasge.Visible = true;
lblmesasge.Text = "خطا : ورودی نا معتبر می باشد";
}
}


اینم کد صفحه report1.aspx

<%@ Page Title="" Language="C#‎‎" MasterPageFile="~/ui.Master" AutoEventWireup="true"
CodeBehind="report1.aspx.cs" Inherits="PS1.report1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="PlaceHolderUserInfo" runat="server">
<asp:Label ID="lbluserfullname" runat="server" Text="Label"></asp:Label><br />
<br />
<asp:LinkButton ID="lblbtnlogout" runat="server" OnClick="lblbtnlogout_Click">خروج</asp:LinkButton><br />
<br />
<br />
<br />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="PlaceHolderUserPage" runat="server">
<asp:LinkButton ID="btnlinkhome" runat="server" OnClick="btnlinkhome_Click">صفحه اصلی</asp:LinkButton><br />
<asp:LinkButton ID="btnlinkreport2" runat="server">LinkButton</asp:LinkButton><br />
<asp:LinkButton ID="btnlinkreport3" runat="server">LinkButton</asp:LinkButton><br />
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
<asp:Label ID="lblpagetitle" runat="server" Text="صفحه 1 / گزارش 1"></asp:Label>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="PlaceHolderPageBody" runat="server">
<div class="GridviewDiv">
<br />
<asp:Label ID="lblmesasge" runat="server" Visible="False"></asp:Label>
<br />
<br />
<asp:TextBox CssClass="btncss" ID="txtserachbox" runat="server" Width="435px"></asp:TextBox>
&nbsp;<asp:Button CssClass="btncss" ID="btnsearch" runat="server" OnClick="btnsearch_Click"
Text="جستجو" />
&nbsp;&nbsp;
<asp:Button CssClass="btncss" ID="btnclear" runat="server" OnClick="btnclear_Click"
Text="لغو جستجو" />
<br />
<asp:Label ID="lblsearch" runat="server"></asp:Label>
<br />

<asp:GridView ID="gridesearch" runat="server" AutoGenerateColumns="False"
Width="100%" CssClass="Gridview" CellPadding="0" HorizontalAlign="Center"
AllowSorting="True">
<HeaderStyle BackColor="#df5015" />
<Columns>
<asp:TemplateField HeaderText="ردیف">
<ItemTemplate>
<%# (Container.DataItemIndex + (gridesearch.PageIndex * gridesearch.PageCount) + 1).ToString()%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="کد بایگانی">
<ItemTemplate>
<asp:Label ID="lblcodee" Text='<%# HighlightText(Eval("codee").ToString()) %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="عنوان">
<ItemTemplate>
<asp:Label ID="lblonvan" Text='<%# HighlightText(Eval("onvan").ToString()) %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="توضیحات 1">
<ItemTemplate>
<asp:Label ID="lbltozih1" Text='<%# HighlightText(Eval("tozih1").ToString()) %>'
runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="توضیحات 2">
<ItemTemplate>
<asp:Label ID="lbltozih2" Text='<%# HighlightText(Eval("tozih2").ToString()) %>'
runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="تاریخ ایجاد">
<ItemTemplate>
<asp:Label ID="lbldatecrate" Text='<%# Eval("datecrate") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#2461BF" />
<EmptyDataTemplate>
متاسفانه عبارت (
<%# txtserachbox.Text%>
) در بانک اطلاعاتی یافت نشد
</EmptyDataTemplate>
</asp:GridView>

<br />



</div>
</asp:Content>




لطفا بگید مشکل کجاست.
ممنون

smh_5800
پنج شنبه 23 مهر 1394, 09:25 صبح
سلام / از دوستان برنامه نویس کسی نمیتواند این مشکل را حل کند؟