نمایش برخی از سطرهای گرید ویو با توجه به یک شرط
سلام بر اساتید فن
می خواستم بدونم چطور میشه فقط برخی از سطرهای گرید ویو رو نمایش داد؟
مثلا یک query اجرا و نتیجه رو به گریدویو بایند کنیم و پس از اون با توجه به یک شرط خاص فقط سطرهایی از گرید ویو نمایش داده شوند که شامل اون شرط باشند؟
آیا شدنی است؟
ممکن است بپرسید قبل از بایند کردن شرط را در query قرار بده تا نتیجه دلخواه به گرید ویو ریخته شود اما مشکلی که دارم اینست که وقتی می نویسم :
SqlDataAdapter adpt = new SqlDataAdapter("SELECT * from table1 where class.reg_deadline>'"+DateTime.Now+"')", con);
DataTable dtbl=new DataTable();
adpt.Fill(dtbl);
gvSelect.DataSource = dtbl;
gvSelect.DataBind();
این خطا رو میده :
Conversion failed when converting date and/or time from character string.
در حالی که reg_deadline از نوع date time هست .
کسی راه حلی داره ؟
ممنون میشم کمک کنید.
نقل قول: نمایش برخی از سطرهای گرید ویو با توجه به یک شرط
ببین این مدل کدنویسی رو دیگه فراموش کنید بجاش بیاید از پارامترها استفاده کنید:
string strConn = "Data Source = .\\SQLExpress; Initial Catalog = Northwind; Integrated Security = True"; SqlConnection _sql_connection = new SqlConnection(strConn); SqlCommand _sql_command = new SqlCommand("GetDetenions", _sql_connection); _sql_command.CommandType = CommandType.StoredProcedure; SqlParameter param_DATE = _sql_command.Parameters.Add("@_date", SqlDbType.DateTime); DateTime dt = new DateTime(2010,10,11); param_DATE.Value = dt; //dt is a DateTime type defined earlier in C# DataTable data_table = new DataTable(); SqlDataAdapter sql_adapter = new SqlDataAdapter(_sql_command); sql_adapter.Fill(data_table);
نقل قول: نمایش برخی از سطرهای گرید ویو با توجه به یک شرط
نقل قول:
نوشته شده توسط
parvizwpf
ببین این مدل کدنویسی رو دیگه فراموش کنید بجاش بیاید از پارامترها استفاده کنید:
string strConn = "Data Source = .\\SQLExpress; Initial Catalog = Northwind; Integrated Security = True"; SqlConnection _sql_connection = new SqlConnection(strConn); SqlCommand _sql_command = new SqlCommand("GetDetenions", _sql_connection); _sql_command.CommandType = CommandType.StoredProcedure; SqlParameter param_DATE = _sql_command.Parameters.Add("@_date", SqlDbType.DateTime); DateTime dt = new DateTime(2010,10,11); param_DATE.Value = dt; //dt is a DateTime type defined earlier in C# DataTable data_table = new DataTable(); SqlDataAdapter sql_adapter = new SqlDataAdapter(_sql_command); sql_adapter.Fill(data_table);
مشکلم با پارامترها حل شد اما جواب سوال اولم رو ندادید:
چطور میشه فقط برخی از سطرهای گرید ویو رو با توجه به یک شرط نمایش داد؟ آیا شدنی است؟
نقل قول: نمایش برخی از سطرهای گرید ویو با توجه به یک شرط
سلام
بهترين كار اينه كه شرط را سمت SP چك كني
مثلا اگه گريدت را بايند به يك ObjectDataSourceكرده اي يا بايند به SP كرده اي همان شرط را در سمت SP چك كني
نقل قول: نمایش برخی از سطرهای گرید ویو با توجه به یک شرط
نقل قول:
مثلا یک query اجرا و نتیجه رو به گریدویو بایند کنیم و پس از اون با توجه به یک شرط خاص فقط سطرهایی از گرید ویو نمایش داده شوند که شامل اون شرط باشند؟
آیا شدنی است؟
درود بر شما
قبل از عمل بایندینگ باید این کار رو انجام بدید. یعنی مثلا یا در Where clause مربوط به دستور Select و یا اینکه وقتی Select رو زدید اینبار قبل از اینکه DataSet رو به گرید وصل کنید، DataSet رو کوچک تر کنید و یک شرط دیگه روش بگذارید و بعد بایند کلی کنید. یک راه بد دیگه هم هست که در یک حلقه for سطر به سطر از DataSet واکشی شده بخونید و بر اساس شرط سطر رو به گرید ویو اضافه کنید.
اینکه هدف شما این باشه که فقط یکبار Bind کنید و مدام بخواید بدون Select زدن از DataBase گرید ویو رو تغییر بدید امکان پذیر نیست.