lostyazilim
tr.link

İf Döngüsüyle Bunun Hesaplamasını Yapamadım

7 Mesajlar 1.084 Okunma
lstbozum
tr.link

Anarchosa Anarchosa WM Aracı Kullanıcı
  • Üyelik 23.04.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Akademik
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 860
  • Beğeniler 47 / 49
  • Ticaret 2, (%100)
Projeyi hazırladım comboboxtan'tan W1,S1-S2-S3-S4 C1-C2-C3 PC1 PC2 RM1 URM değerlerine sahibim tablomda burda



Mesela; RadioButton'dan Soil Type B'yi Seçecek Ordan combobox'tan C2 Seçerse Sonuç: 1.2Dir.

resimde daha açıklama yaptım acaba bunu yapabilirmiyiz? C#'ta.


 

 

wmaraci
reklam

mert50356 mert50356 WM Aracı Kullanıcı
  • Üyelik 01.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Yazılım
  • Konum İzmir
  • Ad Soyad M** P**
  • Mesajlar 1104
  • Beğeniler 180 / 265
  • Ticaret 26, (%100)
Her combobox item ı ve radiobutton item ı için bir katsayı atanır tıklenen butonların katsayısı bir biri ile çarpılarak veya bölünerek sonuca ulaşılır. Tabi eğer bir hesaplama formülü varsa bunların. Sabit standart verilere dayanmıyorlarsa if else çevirmekten başka birşey gelmiyor aklıma.
 

 

Wordpress Hizmetleri | Skype: mert50356

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)


if(radio_soil_type_b.Checked && combobox.SelectedValue == "C2"){
double result = 1.2;
}



if ile kontrol etmek çok uğraştıracaktır. Gereksiz tonla if dönecek.

Bunun yerine,
Bir datagridview oluşturup bu tabloyu oraya dökün. Daha sonra sırasıyla tablo daki başlıkları 2 comboboxa ekleyin.

Sonrasında ise;

int row = combo1.SelectedIndex;
int col = combo2.SelectedIndex;

string result = dataGridview.Rows[row].Cells[col].Value.ToString();


şeklinde daha sağlıklı ve basit bir şekilde yapabilirsiniz.

Mantık şudur; Combobox'a verileri sırasıyla eklerseniz Index değerleri tablonun row sayısı ve col sayısı ile eşleşecektir.

Örn:

Soil Type B'nin datagridview deki yeri 6. satır combobox da da 6 sırada ekleniyor. C2 ise 10. sütun da combobox da 10. sırada ekleniyor.

Seçili Indexi değişkenlere aldığımızda
int row = combo1.SelectedIndex;
int col = combo2.SelectedIndex;

row 6 col ise 10 olacaktır.

dolayısıyla

string result = dataGridview.Rows[row].Cells[col].Value.ToString();

da şu şekilde dönecektir;

string result = dataGridview.Rows[6].Cells[10].Value.ToString();

sonuç olarak da 6. satır 10. sütundaki değeri almış olacağız. Yani 1.2 yi.






Çok karışık anlattığımın farkındayım kusura bakmayın biraz anlatma özürlüyümdür. Kendimi pek ifade edemem.
Anarchosa

kişi bu mesajı beğendi.

sefacandemir.com.tr

Anarchosa Anarchosa WM Aracı Kullanıcı
  • Üyelik 23.04.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Akademik
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 860
  • Beğeniler 47 / 49
  • Ticaret 2, (%100)
Şİmdi 1 tane yapalım projeyi örnek daha sonra aratıp aynı örnek lazım olursa diyede ekleme yapacağım inş yapabilirim :)
 

 

wmaraci
wmaraci

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Yapılamayacak bir şey yok siz datagridview e verilerinizi ekleyin TW atın özelden halledelim hemen. Anlatarak yapayım bu arada mantığı anlamış olursunuz.
 

 

sefacandemir.com.tr

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
başlığı güncellemenizi öneririm.

if bir döngü değildir, koşullu ifadedir.

Eğer C# data component'larından birisini kullanıyorsanız, zaten tıklandığında tıklanılan hücrenin index değerini alabiliyor olmanız lazım.

Ref : http://viblend.com/Questions/WinForms/HowToGetTheActiveCellInWinFormsDataGrid.aspx
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

nGinY nGinY PHP - C# Help Kit =) Kullanıcı
  • Üyelik 07.06.2014
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad E** Y**
  • Mesajlar 80
  • Beğeniler 7 / 17
  • Ticaret 3, (%100)
Bu şekilde işinize yarar mı ?




Iflerin icersine dizileri tanımlayıp index değerine göre diziden veri çekerek

private void BasicScore ()
{
if (radioButton1.Checked)
{
double[] basicscore = { 6.2, 3.8, 3.9, 4.4, 4.1, 3.3, 4.2, 3.5, 3.8, 3.3, 3.7, 3.2 };
int deger = comboBox1.SelectedIndex;
label1.Text = basicscore[deger].ToString();
}
}
private void SevereVert ()
{
if (radioButton2.Checked)
{
double[] severevert = { -2.5, -1.4, -1.3, -1.6, -1.2, -1.3, -1.2, -1.1, -1.3, -1.1, -1.1, -1.2 };
int deger = comboBox1.SelectedIndex;
label1.Text = severevert[deger].ToString();
}
}
 

 

-----
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al