Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > vb.net ve xtrachart için acil yardım !!!
Yazar
besensitive


avatar
iSTANBUL
Kayıt: 26.05.2006
29.10.2007-14:58 #29528
merhaba arkadaşlar,
Vb.Net te devexpress componentlerinden xtrachart kullanmaya çalışıyorum.

hali hazırda yaptırdığım bir sorgu sonucunu dataset kullarak gride atıyorum
Xtrachart tada bu grid dekileri grafiklemek istiyorum
Xtrachart ın datasource özelliği var ama zaten hazır olan dataseti kodla bu özelliğe atayamıyorum
wizardlada yapma gibi bi şansım yok malum..

acilen yardıma ihtiyacım var

şimdiden teşekkkürler
Selametle...





Yazar
mehmet


avatar
Antalya
Kayıt: 29.01.2006
29.10.2007-17:36 #29531
gride nasıl atıyorsun dataları?
datasource kullanmayıp da kendi data setlerinde atıyorsan, datasetin istedigin table ını bir datatable a at. sonra da
chartinadi.datasource=olusturdugun datatable
chartinadi.databind()





Soldier of Fortune


Yazar
besensitive


avatar
iSTANBUL
Kayıt: 26.05.2006
29.10.2007-18:14 #29532
ben gride verileri atmak için kullandığım sorgu sonucunu ds1 adlı datasetimde tutuyorum
gridde listelemek yaptıktan sonra veriler ds1 de hala var mantığıyla aynı ds1 i chart tada kullanmak istiyorum (yanlışsa bi alternatif sunarsanız sevinirim)
charta atama işlemini de aşağıdaki gibi yaptım (forumlardan veri topladığım için kafam çok karıştı ama... )

Dim chart As New ChartControl()
chart.DataSource = ds1.Tables(0)
chart.SeriesDataMember = ds1.Tables(0).Columns.Item("doktoradisoyadi").Caption
chart.SeriesTemplate.ValueDataMembers.AddRange(New String() {"adet"})
chart.SeriesTemplate.View = New StackedBarSeriesView()
chart.Dock = Windows.Forms.DockStyle.Fill
Me.Controls.Add(chart)

istediğim grafik de x linenında doktorların adı gözüksün y de de baktığı hasta sayılarının adedi

ama chart benden inatçı çıktı bir türlü olmuyor

help pls!!!!!

ya bi de chart.databind() yazmışsın chart ın databind diye bi özelliği gözükmüyor bende worried





Yazar
mehmet


avatar
Antalya
Kayıt: 29.01.2006
30.10.2007-09:48 #29543
databind yapmadıgın için gorunmuyo olabilir. yada o ara sayfa postback oluyosa page_load ta controlu temizliyo olabilirsin. databind degilse başka bişeydir adı o tur bişey olması lazım






Soldier of Fortune


Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
30.10.2007-19:56 #29547
Kodlarını incelediğimde birşeyin eksik olduğunu farkettim. Diğer kısımları doğru görünüyor.
Grafiğin Argument kısmını belirtmemişsin. Mesela doktorların yıllara göre baktığı hasta sayısı...
ArgumentDataMember iki koordinat arasında grafiği oluşturacak... Kendi ihtiyacına göre bu alanı belirtmelisin. Ben örnek olarak Yil diye bir alan belirttim.



chart.SeriesDataMember = ds1.Tables(0).Columns.Item("doktoradisoyadi").Caption 

' Bu satır arasına  eklenecek ================================
chart.SeriesTemplate.ArgumentDataMember = "Yil"
' ===================================================

chart.SeriesTemplate.ValueDataMembers.AddRange(New String() {"adet"}) 


Yukarıdaki satırı ekleyince grafik çıkması lazım. DataBind yapmana gerek yok. Zaten dediğin gibi öyle bir methodu yok. Data'yı yenilemek istersen chart.RefreshData() işini görür sanırım.





Yazar
besensitive


avatar
iSTANBUL
Kayıt: 26.05.2006
31.10.2007-14:50 #29564
Arkadaşlar yardımlarınız için teşekkür ederim
en sonunda yaptım
kodu da aşağıya yazayım belki lazım olur ;)

For i As Integer = 1 To ds.Tables(0).Columns.Count - 1
If ds.Tables(0).Columns(i).DataType Is GetType(Integer) OrElse ds.Tables(0).Columns(i).DataType Is GetType(Double) Then
Dim series As DevExpress.XtraCharts.Series = New DevExpress.XtraCharts.Series(ds.Tables(0).Columns(i).Caption, DevExpress.XtraCharts.ViewType.Bar)
series.DataSource = ds.Tables(0)
series.ArgumentDataMember = ds.Tables(0).Columns(0).Caption
series.PointOptionsTypeName = "PointOptions"
series.ValueDataMembers(0) = ds.Tables(0).Columns(i).Caption
xrChart1.Series.Add(series)

End If
Next i


aslında piechart ın apeearence ile ilgili sorunum var ama biraz araştırayım bakalım :P

herkese kolay gelsin





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb