Forum
Devexpress Raporlama dataset datasource ile wizard yardımıyla
yapabiliyorum bu şekilde sorun yok fakat form üzerinden bir veriyi
rapora parametre olarak göndermem gerekiyor bunu nasuıl yapabilirim?
Devexpress Rapora nasıl parametre gönderebilirim yada kod yardımı ile
veritabanında ki datalarımı istediğim alanlara çekebilirim?
Merhaba
formunuza 1 adet Dataset ekleyin ve alanları bu datasete elle girin.
sonra formunuza 1 adet xtrareport ekleyin ve dizaynı yapın.
///////////////// Şu anda yazdığım programdaki kodları aynen ekliyorum.Kendinize göre editlersiniz..////////////////
SqlConnection conn = GetConn();
conn.Open();
DateTime d1 = DateTime.Parse(dtOTarihi.Text);
DateTime d2 = d1;
for (int i=1; i <= Convert.ToInt32(txtTaksit.Text); i++ )
{
try
{
SqlCommand cmd_InsertBond = new SqlCommand("SP_Senet", conn);
cmd_InsertBond.CommandType = CommandType.StoredProcedure;
cmd_InsertBond.Parameters.AddWithValue("@OGunu", d2);
cmd_InsertBond.Parameters.AddWithValue("@TL", txtTutar.Text);
cmd_InsertBond.Parameters.AddWithValue("@No", i);
cmd_InsertBond.Parameters.AddWithValue("@a1", textBox1.Text);
cmd_InsertBond.Parameters.AddWithValue("@a2", textBox2.Text);
cmd_InsertBond.Parameters.AddWithValue("@a3", textBox3.Text);
cmd_InsertBond.Parameters.AddWithValue("@a4", textBox4.Text);
cmd_InsertBond.Parameters.AddWithValue("@a5", textBox5.Text);
cmd_InsertBond.Parameters.AddWithValue("@a6", textBox6.Text);
cmd_InsertBond.Parameters.AddWithValue("@a7", textBox7.Text);
cmd_InsertBond.Parameters.AddWithValue("@a8", textBox8.Text);
cmd_InsertBond.Parameters.AddWithValue("@a9", textBox9.Text);
cmd_InsertBond.Parameters.AddWithValue("@a10", textBox10.Text);
cmd_InsertBond.Parameters.AddWithValue("@AdSoyad", cmbStudentName.Text);
cmd_InsertBond.Parameters.AddWithValue("@Adres", textBox13.Text);
cmd_InsertBond.Parameters.AddWithValue("@VDNO", textBox15.Text);
cmd_InsertBond.Parameters.AddWithValue("@Kefil", textBox16.Text);
cmd_InsertBond.Parameters.AddWithValue("@KVDNO", textBox17.Text);
cmd_InsertBond.Parameters.AddWithValue("@Adres2", textBox14.Text);
cmd_InsertBond.Parameters.AddWithValue("@TC", textBox12.Text);
cmd_InsertBond.Parameters.AddWithValue("@UserID", cmbStudentName.EditValue);
cmd_InsertBond.ExecuteNonQuery();
d2 = d1.AddMonths(i);
}
catch (Exception ex)
{ MessageBox.Show(ex.Message.ToString()); break; }
}
conn.Close();
Ahmet Hocam Cevabınız için çok teşekkür ederim fakat ben dataset eklediğimde dataset timeout a düşüyor 30 sn sonra bunu nasıl engelleyebilirim?
internetde araştırdığım bilgilere göre dataset wizard kısmında dataset designer içerinde değişiklik yapmam söyleniyor, bu doğrumudur yoksa daset timeout süresini farklı yöntemler ile arttırabilirmiyim?
Merhaba linkte çok güzel anlatılmış.
Hocam Bu söylediğiniz linki daha önce incelemiştim fakat timeout hatasının çözümü olmamıştı, daha etkin ve farklı çözüm olabilir mi ?
Örneğin timeout wizard üzerinde değiştirmek gibi...
timeout 'a düşmesi kodlarınla alakalı olabilir diye düşünüyorum.
Kodlarını görebilirmiyim.
Hocam Ben Sadece Dataset design edip rapor design alanında kodları bağlıyorum, bu şekilde çalışıyor ama sorgu uzun geldiği zaman timeout a düşüyor, ben yanlış bir yol izliyor olabilirm, bu yolun daha profesyonel bir yöntemi olabilir mi? Timeout a düşmeden raporu çalıştırabiliyorsam mümkünse nasıl yapıldığına dail kodları paylaşabilirmisiniz?
XtraReport1 rapor = new XtraReport1();
SqlConnection cnn;
string connectionString = null;
string sql = null;
connectionString = "Data Source=";
cnn = new SqlConnection(connectionString);
cnn.Open();
sql="select * from basic";
SqlDataAdapter adp = new SqlDataAdapter(sql, cnn);
DataSet ds = new DataSet();
adp.Fill(ds, "basic");
foreach(DataRow dr in ds.Tables["basic"].Rows)
{
Response.Write(dr["Adi"].ToString());
}
//rapor.xrLabel1.Text= ds.Tables["basic"].Rows[0]["ID"].ToString();
rapor.dataGridView1.DataSource = ds;
//istediğim satırdaki satırı ekrana yazdırmak için kullandığım kod//
Label1.Text=ds.Tables["basic"].Rows[5]["ID"].ToString();
ReportToolbar1.DataBind();
ReportViewer1.Report = rapor;
cnn.Close();
Hocam Kodlarım burda bu şekilde raporluyorum, fakat belli bir süreden sonra timeout a düşüyor
Ayrıca raporda sadece tek satır listeleyebiliyorum, ben altalta ne kadar data varsa listelenmesini istiyorum.
Merhaba açıkçası kodların çok karışık.
akşam sana access'de bir örnek yapar eklerim buraya.
altta devamının görünmesi için details band'a koymalısın verilerini ve Report.DataMember = "Tablo"; şeklinde report.preview(); 'den önce yazmalısın.
Kolay Gelsin.
Hocam details banda listemeye çalışıyorum ama sadece en son girilen kaydı listeliyor.
http://www.dosya.tc/server7/oWANzy/DevexpressReport.rar.html
Linkten örnek kodu indirebilirsiniz..
Kolay Gelsin.
Hocam çözümünüz için çok teşekkür ederim, Asp.Net platformuna uyarlayıp test ettim proje çalıştı.
Hocam bir kaç sorum daha olacak;
Dataset kullandığınız rapor design ın içinde ki dataset mi, oysa onun timeout değerini mi arttıracağız. yoksa
command nesnesinin timeout değerini arttırdığımızda sorun düzelirmi, ayrıca eklemek istediğim bi kaç nokta daha var
datatable ı dataset design kısmında oluşturuyoruz bazen burda da table oluştururken timeout a düştüğü oluyor, bu sorunu aşabilmemiz için farklı
bir çözüm yolu olabilir mi?
Çözümünüz ve Yardımlarınız için teşekkür ederim.
dr_Details["deger"] = oku["deger"].ToString();
hocam yukarıda ki gibi dataread ile data çekiyorum ama değer veritabanında yok ise gerçersiz dizin ismi ile hata veriyor?
Bu Hatayı nasıl düzeltebilirim
veritabanında olmayan bir field'ı çekemezsiniz.
hataya düşmesini istemiyorsanız
try
{}catch(Exception ex)
{ Messagebox.show(ex.message.tostring()); }
şeklinde yazabilirsiniz.
Field var ama değeri null geşdiği için hata veriyor
döngünün içerisinde
if (dr["deger"] != null)
{
////kod
}
şeklinde yapabilirsnz.
O kadar çok işime yaradı ki. Kurtarıcım oldu. Link paylaşımı için teşekkürler.