hi
in my code,
i took two gridviews
gridview1 and gridview2
and i am using itextsharpe for calendar.
when i selcetindex of first gridview1 row then i get data in second gridview2.
now at second gridview2 i put code for show data between two dates.
but it is showing error that i had not passed values of gl_acid...
actualy i used viewstate for passing id of user from first gridview1 to second gridview2.
iam sending you my code and stored procedures also.
please give me optimal solution to get rid off this error.
What I have tried:
this is code upon button to show data between two dates.
protected void getBydate_Click(object sender, EventArgs e)
{
getdateValues();
}
public void getdateValues()
{
if (con.State == ConnectionState.Closed)
con.Open();
cmd = new SqlCommand("sp_dateBetween", con);
cmd.Parameters.AddWithValue("@userid", Convert.ToInt32(Session["user"]));
cmd.Parameters.AddWithValue("@gl_acid", Convert.ToInt32(ViewState["id"]));
cmd.Parameters.AddWithValue("@dateFrom", dateFromText.Text);
cmd.Parameters.AddWithValue("@dateTo", dateToText.Text);
sda = new SqlDataAdapter(cmd);
ds = new DataSet();
sda.Fill(ds);
GridView2.DataSource = ds;
GridView2.DataBind();
cmd.ExecuteNonQuery();
con.Close();
}
here is stored procedure for this
ALTER procedure [dbo].[sp_dateBetween]
(
@gl_acid int,
@userid int,
@dateFrom datetime,
@dateTo datetime
)
as
begin
SELECT ROW_NUMBER() OVER (Order by gLedeger.PK_id) as sno,gLedeger.gl_date as date,gLedeger.gl_narration as Narration ,
case when gLedeger.gl_drcr > 0 then abs(gLedeger.gl_drcr) else 0.00 end as debit,
case when gLedeger.GL_DRCR < 0 then abs(gLedeger.gl_drcr) else 0.00 end as credit,
SUM(gLedeger.gl_drcr) OVER(ORDER BY gledeger.pk_ID ROWS UNBOUNDED PRECEDING) AS Balance
FROM gLedeger LEFT JOIN master ON
gLedeger.gl_acid = master.PK_ID left join registration r on master.userId= @userid
WHERE gLedeger.gl_acid = @gl_acid
and gl_date between Convert(Datetime, @dateFrom ,103) and Convert(Datetime,@dateTo,103)
ORDER BY gLedeger.gl_date
end