PDA

View Full Version : جمع کردن مقادیر موجود در یک ستون datagridview و نمایش در label



saeedhushmand
جمعه 13 آبان 1390, 11:38 صبح
جمع کردن مقادیر موجود در یک ستون از grid view ونمایش ان در یک label با زدن یک button


ممنون می شم اگه کسی کمکم کنه....

electro_esma
جمعه 13 آبان 1390, 11:53 صبح
با سلام دوست عزیز

شما در رویداد باتن خود باید از این استرینگ کانکشن استفاده کنی .

Select sum(field_name) from table_name

این به شما جمع یک ستون را در جدول می دهد.

electro_esma
جمعه 13 آبان 1390, 11:56 صبح
البته این یه مثاله فکر کنم بدرد بخوره

اگه خواستی تشکر رو بزن

OleDbConnection conection51 = newOleDbConnection();
conection51.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|C.mdb;Jet OLEDB:";
OleDbCommand cm51 = newOleDbCommand("Select sum(field_name) from table_name", conection51);

conection51.Open();

object f51 = cm51.ExecuteScalar();

conection51.Close();

lable.Text = f51.ToString();


شما بعد از باز کردن کانکشن از ExecuteScalar جهت برگردان مقدار جمع استفاده می کنی.

saeedhushmand
جمعه 13 آبان 1390, 12:13 عصر
دوست عزیز چرا وقتی این کد رو به button اضافه می کنم برنامم می ره ایراد این کد چیه

ممنون می شم راهنماییم کنی..

for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
textBox6.Text += double.Parse(dataGridView2.Rows[i].Cells["mablagh"].Value.ToString());
}

electro_esma
جمعه 13 آبان 1390, 12:37 عصر
دوست من این کد میاد رو ستون مبلغ و سطر i ام شما مقادیر رو در تکست باکس قرار می ده و دوباره با رشته تکس باکس جمع می کنه و در تکست باکس قرار می ده

در نهایت شما یه چیزی شبیه 2735417234816341623486238461983648923648234223 این خواهی داشت اگه درست فکر کنم

اگه میخواهی جمع رو بدست بیاری از همون روشی که بهت گفتم برو اون درست است. اینی که شما نوشتی فقط رشته رو جمع می کنه.

sobaisobai
جمعه 13 آبان 1390, 15:01 عصر
سلام
با این کد میتونی
int m = 0;

for (int i = 0; i < kryptonDataGridView1.Rows.Count; i++)
{
m = m + Convert.ToInt32(kryptonDataGridView1.Rows[i].Cells[4].Value);
}

label1.Text = m.ToString();

saeedhushmand
جمعه 13 آبان 1390, 20:39 عصر
دمت گرم هر کدی بهم می دی درسته.

h.gheidrlou
چهارشنبه 07 مرداد 1394, 21:35 عصر
سلام
من وقتی کد را نوشتم در اونت تغییرات دیتا گرید فقط سطر اول ازستون مورد نظر را نمایش میده و کل مبالغ ستونها را نمایش نمیده
علتش چیه؟

davidrobert
پنج شنبه 08 مرداد 1394, 13:20 عصر
بفرمائید کد روش محاسبه سلول در دیتاگرید ویو void calc()
{
try
{
for (int i = 0; i < dgv1.Rows.Count; i++)
{
object fey = dgv1.Rows[i].Cells["Clmfey"].Value;
object TedadKolKala = dgv1.Rows[i].Cells["ClmTedeKolKala"].Value;
object TedadKhered = dgv1.Rows[i].Cells["ClmTedadKhered"].Value;
object TedadMojodeAnbar = dgv1.Rows[i].Cells["ClmTedadMonde"].Value;
object DersidTekhfef = dgv1.Rows[i].Cells["ClmDersidTekhfef"].Value;
object Tekhfef = dgv1.Rows[i].Cells["ClmTekhfef"].Value;
object DersidMaleyat = dgv1.Rows[i].Cells["ClmDersidMaleYat"].Value;
object Maleyat = dgv1.Rows[i].Cells["ClmMaleYat"].Value;
object GhemetKhales = dgv1.Rows[i].Cells["ClmGhemetKhales"].Value;
object GhemetGhabilPerdakht = dgv1.Rows[i].Cells["ClmGhemetGhabilPerdakht"].Value;

decimal ffey = 0;
decimal TTedadKolKala = 0;
decimal TTedadKhered = 0;
decimal TTedadMojodeAnbar = 0;
int DDersidTekhfef = 0;
decimal TTekhfef = 0;
int DDersidMaleyat = 0;
decimal MMaleyat = 0;
decimal GGhemetKhales = 0;
decimal GGhemetGhabilPerdakht = 0;

if (fey != null)
{
ffey = Decimal.Parse(fey.ToString());
}
if (TedadKolKala != null)
{
TTedadKolKala = Decimal.Parse(TedadKolKala.ToString());
}
if (TedadKhered != null)
{
TTedadKhered = Decimal.Parse(TedadKhered.ToString());
}
if (TedadMojodeAnbar != null)
{
TTedadMojodeAnbar = Decimal.Parse(TedadMojodeAnbar.ToString());
}
if (DersidTekhfef != null)
{
DDersidTekhfef = int.Parse(DersidTekhfef.ToString());
}
if (Tekhfef != null)
{
TTekhfef = Decimal.Parse(Tekhfef.ToString());
}
if (DersidMaleyat != null)
{
DDersidMaleyat = int.Parse(DersidMaleyat.ToString());
}
if (Maleyat != null)
{
MMaleyat = Decimal.Parse(Maleyat.ToString());
}
if (GhemetKhales != null)
{
GGhemetKhales = Decimal.Parse(GhemetKhales.ToString());
}
if (GhemetGhabilPerdakht != null)
{
GGhemetGhabilPerdakht = Decimal.Parse(GhemetGhabilPerdakht.ToString());
}

dgv1.Rows[i].Cells["ClmTedadMonde"].Value = TTedadKolKala - TTedadKhered;
dgv1.Rows[i].Cells["ClmTekhfef"].Value = (DDersidTekhfef * ffey) / 100;
dgv1.Rows[i].Cells["ClmMaleYat"].Value = (DDersidMaleyat * ffey) / 100 * DDersidMaleyat;
dgv1.Rows[i].Cells["ClmGhemetKhales"].Value = TTedadKhered * ffey;
dgv1.Rows[i].Cells["ClmGhemetGhabilPerdakht"].Value = (TTedadKhered * ffey) - TTekhfef + MMaleyat;
//dgv1.CurrentRow.Cells["ClmTedadKhered"].Value = "1";
//dgv1.CurrentRow.Cells["ClmDersidMaleYat"].Value = "0";
//dgv1.CurrentRow.Cells["ClmDersidTekhfef"].Value = "0";
}
}
catch (Exception ex)
{
//ClsShowMessageBoxError.Error(102, "197 \n" + ex.Message, "");
}

}
و کد محاسبه یک سلول دیتاگرید ویو و ریختن داخل کادر متن.
void SumJameKol()
{
int sum = 0;
for (int i = 0; i < dgv1.Rows.Count; i++)
{
sum += Convert.ToInt32(dgv1.Rows[i].Cells["ClmGhemetGhabilPerdakht"].Value);
}
TxtMablaghkolHazene.Text = sum.ToString();
}