PDA

View Full Version : رکوردهای ایجاد و حذف شده در گریدویو



programerinfonet
جمعه 22 فروردین 1393, 21:46 عصر
سلام دوستان
من تو برنامه ی زیر سه تا datable دارم که میخوام دیتا تیبل 3 تشکیل به از رکوردهایی که تو datatable1 هست ولی تو datatable2 نیست
فیلدهای هر سه دیتاتیبل هم نام هستند و شرط با ID چک شود
کدشم نوشتم اما کار نمی کنه فکر کنم اشتباه باشه
117862
اگه میشه سریع کمکم کنید خیلی بهش احتیاج دارم

fakhravari
جمعه 22 فروردین 1393, 21:50 عصر
{ <query_specification> | ( <query_expression> ) } { EXCEPT | INTERSECT } { <query_specification> | ( <query_expression> ) }

http://technet.microsoft.com/en-us/library/ms188055.aspx

behzadkhan
جمعه 22 فروردین 1393, 22:24 عصر
با سلام

ببین برطرف شد:

==================================


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace DTManager
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private DataTable dt = new DataTable();
private DataTable dt2 = new DataTable();
private DataTable dt3 = new DataTable();


private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Saham");
dataGridView1.DataSource = dt;


dt2.Columns.Add("ID");
dt2.Columns.Add("Name");
dt2.Columns.Add("Saham");
dataGridView2.DataSource = dt2;




dt3.Columns.Add("ID");
dt3.Columns.Add("Name");
dt3.Columns.Add("Saham");
dt3.Columns.Add("Change");
dataGridView3.DataSource = dt3;


}


private void button1_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["id"] = textBox1.Text;
dr["name"] = textBox2.Text;
dr["saham"] = textBox3.Text;


dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}


private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt2.NewRow();
dr["id"] = textBox4.Text;
dr["name"] = textBox5.Text;
dr["saham"] = textBox6.Text;


dt2.Rows.Add(dr);
dataGridView2.DataSource = dt2;
}


private void button3_Click(object sender, EventArgs e)
{
try
{


for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView2.Rows.Count - 1; j++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == dataGridView2.Rows[j].Cells[0].Value.ToString())
{
DataRow dr = dt3.NewRow();
dr["id"] = dataGridView1.Rows[i].Cells[0].Value.ToString();
dr["name"] = dataGridView1.Rows[i].Cells[1].Value.ToString();
dr["saham"] = dataGridView1.Rows[i].Cells[2].Value.ToString();
dt3.Rows.Add(dr);
}
}
}


dataGridView3.DataSource = dt3;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}





اگه نه بگو تو چه حالتی خطا داده

با تشکر

programerinfonet
شنبه 23 فروردین 1393, 09:19 صبح
با سلام

ببین برطرف شد:

==================================


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace DTManager
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private DataTable dt = new DataTable();
private DataTable dt2 = new DataTable();
private DataTable dt3 = new DataTable();


private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Saham");
dataGridView1.DataSource = dt;


dt2.Columns.Add("ID");
dt2.Columns.Add("Name");
dt2.Columns.Add("Saham");
dataGridView2.DataSource = dt2;




dt3.Columns.Add("ID");
dt3.Columns.Add("Name");
dt3.Columns.Add("Saham");
dt3.Columns.Add("Change");
dataGridView3.DataSource = dt3;


}


private void button1_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["id"] = textBox1.Text;
dr["name"] = textBox2.Text;
dr["saham"] = textBox3.Text;


dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}


private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt2.NewRow();
dr["id"] = textBox4.Text;
dr["name"] = textBox5.Text;
dr["saham"] = textBox6.Text;


dt2.Rows.Add(dr);
dataGridView2.DataSource = dt2;
}


private void button3_Click(object sender, EventArgs e)
{
try
{


for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView2.Rows.Count - 1; j++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == dataGridView2.Rows[j].Cells[0].Value.ToString())
{
DataRow dr = dt3.NewRow();
dr["id"] = dataGridView1.Rows[i].Cells[0].Value.ToString();
dr["name"] = dataGridView1.Rows[i].Cells[1].Value.ToString();
dr["saham"] = dataGridView1.Rows[i].Cells[2].Value.ToString();
dt3.Rows.Add(dr);
}
}
}


dataGridView3.DataSource = dt3;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}





اگه نه بگو تو چه حالتی خطا داده

با تشکر

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

behzadkhan
شنبه 23 فروردین 1393, 11:46 صبح
با سلام

اگر درست گفته باشم:

طبق گفته شما:

"
دیتا تیبل 3 تشکیل شده از رکوردهایی که تو datatable1 هست ولی تو datatable2 نیست"

اگر درسته بگو.

در غیر این صورت بیشتر توضیح بده.

programerinfonet
شنبه 23 فروردین 1393, 11:54 صبح
بله
همین طوره

behzadkhan
شنبه 23 فروردین 1393, 14:07 عصر
با سلام مجدد

این تغییر را اعمال کن:

===================================


private void button3_Click(object sender, EventArgs e)
{
dt3.Clear();
dataGridView3.DataSource = null;

var idsNotInB = dt.AsEnumerable().Select(r => r.Field<string>("id"))
.Except(dt2.AsEnumerable().Select(r => r.Field<string>("id")));

if (idsNotInB.Any())
{
dt3 = (from row in dt.AsEnumerable()
join id in idsNotInB
on row.Field<string>("id") equals id
select row).CopyToDataTable();
dataGridView3.DataSource = dt3;
}
else
{
MessageBox.Show("Not Found.");
}
}



با تشکر

programerinfonet
شنبه 23 فروردین 1393, 18:28 عصر
الان من دستی تو دیتاتیبل اون جوابیو که میخوام اضافه کردم
نگاه کنید ببینید با چه کدی میشه گرید 3 رو اونجوری پر کرد
کمکم کنید
ممنون
117899

behzadkhan
شنبه 23 فروردین 1393, 20:12 عصر
با سلام

شما در واقع می خواهید دو تا تیبل اول و دوم با هم ترکیب بشن بعد در تیبل سوم ریخته بشن
و
شرط برابر بودن ID می باشد.
مثل:

table1
------------------------
"1", "ali", "1000"
"2", "reza", "1000"
"3", "hasan", "1000"

table2
------------------------
"1", "ali", "1500"
"3", "hasan", "500"
"4", "mohammad", "1500"



table3
------------------------
"1","ali","1500","افزایش"
"2", "reza", "1000", "خروج"
"3", "hasan", "500", "کاهش"
"4", "mohammad", "1500", "ورود"

اینا برای چین
"ورود"خروج"کاهش"افزایش"




اگه درسته بگو تا کدشو بزارم

درغیر اینصورت متوجه نشدم


با تشکر

programerinfonet
شنبه 23 فروردین 1393, 22:06 عصر
ببین دادا توی تیبل اول اطالاعات یک شرکت میاد و توی تیبل دوم تغییرات
مثلأ علی تو جدول 1 سرمایش 1000 سهمه ولی پس از تغییرات شده 1500 . این یعنی افزایش سرمایه داشته
یا مثلأ رضا تو جدول اول بوده اما پس از تغییرات تو جدول دوم نیست این یعنی از شرکت خارج شده و جزء سهامداران نیست و ...
امیدوارم تونسته باشم توضیح بدم

behzadkhan
شنبه 23 فروردین 1393, 23:29 عصر
با سلام

روی این مثالی که دادی کد زیر کار می کنه:

====================================


private DataTable dt = new DataTable();
private DataTable dt2 = new DataTable();
private DataTable dt3 = new DataTable();


private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Saham");


dt.Rows.Add("1", "ali", "1000");
dt.Rows.Add("2", "reza", "1000");
dt.Rows.Add("3", "hasan", "1000");
dataGridView1.DataSource = dt;


dt2.Columns.Add("ID");
dt2.Columns.Add("Name");
dt2.Columns.Add("Saham");


dt2.Rows.Add("1", "ali", "1500");
dt2.Rows.Add("3", "hasan", "500");
dt2.Rows.Add("4", "mohammad", "1500");
dataGridView2.DataSource = dt2;


dt3.Columns.Add("ID");
dt3.Columns.Add("Name");
dt3.Columns.Add("Saham");
dt3.Columns.Add("Change");
dataGridView3.DataSource = dt3;
}


private void button1_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["id"] = textBox1.Text;
dr["name"] = textBox2.Text;
dr["saham"] = textBox3.Text;


dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}


private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt2.NewRow();
dr["id"] = textBox4.Text;
dr["name"] = textBox5.Text;
dr["saham"] = textBox6.Text;


dt2.Rows.Add(dr);
dataGridView2.DataSource = dt2;
}


private void button3_Click(object sender, EventArgs e)
{
dt3.Clear();
dataGridView3.DataSource = null;

int i=0,j=0;
while(dt.Rows.Count>0)
{

DataRow dr = dt3.NewRow();
dr["ID"] = dt.Rows[0]["ID"].ToString();
dr["Name"] = dt.Rows[0]["Name"].ToString();
dr["Saham"] = dt2.Rows[0]["Saham"].ToString();
dr["Change"] = "خروج";
while (dt2.Rows.Count > j)
{
if (dt.Rows[i]["ID"].ToString() == dt2.Rows[j]["ID"].ToString())
{
if (Convert.ToInt16(dt.Rows[i]["saham"]) > Convert.ToInt16(dt2.Rows[j]["saham"]))
{
dr["Change"] = "کاهش";
}
else if (Convert.ToInt16(dt.Rows[i]["saham"]) < Convert.ToInt16(dt2.Rows[j]["saham"]))
{
dr["Change"] = "افزایش";
}
else
{
dr["Change"] = "ثابت";
}


dr["ID"] = dt.Rows[i]["ID"].ToString();
dr["Name"] = dt.Rows[i]["Name"].ToString();
dr["Saham"] = dt2.Rows[j]["Saham"].ToString();


dt3.Rows.Add(dr);
dr = null;
dt2.Rows[j].Delete();

break;
}
j++;
}
dt.Rows[0].Delete();
j = 0;
if (dr!=null)
{
dt3.Rows.Add(dr);
}
}


for (i = 0; i < dt2.Rows.Count; i++)
{
DataRow dr = dt3.NewRow();
dr["ID"] = dt2.Rows[i]["ID"].ToString();
dr["Name"] = dt2.Rows[i]["Name"].ToString();
dr["Saham"] = dt2.Rows[i]["Saham"].ToString();
dr["Change"] = "ورود";
dt3.Rows.Add(dr);
}

dataGridView3.DataSource = dt3;
}





با تشکر

programerinfonet
یک شنبه 24 فروردین 1393, 10:16 صبح
این کد زمانی که گرید سوم رو پر می کنه اول و دوم رو خالی می کنه که نباید این جوری باشه

programerinfonet
یک شنبه 24 فروردین 1393, 12:40 عصر
یکی بیاد کمک
من هنوز جوابمو نگرفتم

programerinfonet
یک شنبه 24 فروردین 1393, 13:10 عصر
دوستان کمک کنید من نباید با while بنویسم کدم تو for الان درست کار می کنه فقط نمی دونم چرا چند بار تکرار می کنه
اینو ببینید چیزی که نمایش میده و چیزیو که من میخوام معلوم شده117927

pay_hossein
یک شنبه 24 فروردین 1393, 14:08 عصر
سلام دوست من
من به آخرین کد هایی که تو فرم گذاشته بودی یه نگاهی کردم
من اگر میخواستم همچین برنامه ای بنویسیم یه دیتابیس براش تعریف میکردم تا کارم راحت تر بشه.
ولی خوب حالا نمیخوایم برنامه دیتا بیس داشته باشه!
خوب مشکلی که من تو کد هاتون دیدم این بود که بعد هر شرط یک بار مقدار دهی کرده بودید که این تو برنامه هایی که شرط زیاد استفاده میشه مشکل درست میکنه
من نظرم اینه که شما یه متغیر از نوع int تعریف کنید و پس از اعمال هر تغییر به اون یه مقدار خاص بدید و در پایان یه شرط برای اون متغیر بذارید و تغییرات رو اعمال کنید اینجوری خط های برنامه هم کمتر میشه و سرعت برنامه بالا میره

pay_hossein
یک شنبه 24 فروردین 1393, 14:10 عصر
اگر منظورمو متوجه نشدید بگید تا براتون کد بذارم

behzadkhan
یک شنبه 24 فروردین 1393, 14:44 عصر
این کد زمانی که گرید سوم رو پر می کنه اول و دوم رو خالی می کنه که نباید این جوری باشه

با سلام

اون تغییراتی را که می خواهی بگو تا اعمال کنم.

با تشکر

programerinfonet
یک شنبه 24 فروردین 1393, 16:21 عصر
با سلام

اون تغییراتی را که می خواهی بگو تا اعمال کنم.

با تشکر

من نباید با while بنویسم کدم تو for الان درست کار می کنه فقط نمی دونم چرا چند بار تکرار می کنه
اینو ببینید چیزی که نمایش میده و چیزیو که من میخوام معلوم شده117927
چیزایی که میخوام رو توی سورس مشخص کردم

behzadkhan
یک شنبه 24 فروردین 1393, 16:38 عصر
با سلام

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

اینجوری دیتاگرید 1 و 2 هیچ تغییری نمی کنند.

با تشکر

programerinfonet
یک شنبه 24 فروردین 1393, 16:52 عصر
میشه رو پروژه انجام بدید ؟

behzadkhan
یک شنبه 24 فروردین 1393, 17:03 عصر
با سلام

امیدوارم همونی که می خواهی باشه:
=====================================


private void button3_Click(object sender, EventArgs e)
{
DataTable tempdt = new DataTable();
DataTable tempdt2 = new DataTable();


tempdt = dt.Copy();
tempdt2 = dt2.Copy();


dt3.Clear();
dataGridView3.DataSource = null;

int i=0,j=0;
while (tempdt.Rows.Count > 0)
{

DataRow dr = dt3.NewRow();
dr["ID"] = tempdt.Rows[0]["ID"].ToString();
dr["Name"] = tempdt.Rows[0]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[0]["Saham"].ToString();
dr["Change"] = "خروج";
while (tempdt2.Rows.Count > j)
{
if (tempdt.Rows[i]["ID"].ToString() == tempdt2.Rows[j]["ID"].ToString())
{
if (Convert.ToInt16(tempdt.Rows[i]["saham"]) > Convert.ToInt16(tempdt2.Rows[j]["saham"]))
{
dr["Change"] = "کاهش";
}
else if (Convert.ToInt16(tempdt.Rows[i]["saham"]) < Convert.ToInt16(tempdt2.Rows[j]["saham"]))
{
dr["Change"] = "افزایش";
}
else
{
dr["Change"] = "ثابت";
}


dr["ID"] = tempdt.Rows[i]["ID"].ToString();
dr["Name"] = tempdt.Rows[i]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[j]["Saham"].ToString();


dt3.Rows.Add(dr);
dr = null;
tempdt2.Rows[j].Delete();

break;
}
j++;
}
tempdt.Rows[0].Delete();
j = 0;
if (dr!=null)
{
dt3.Rows.Add(dr);
}
}


for (i = 0; i < tempdt2.Rows.Count; i++)
{
DataRow dr = dt3.NewRow();
dr["ID"] = tempdt2.Rows[i]["ID"].ToString();
dr["Name"] = tempdt2.Rows[i]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[i]["Saham"].ToString();
dr["Change"] = "ورود";
dt3.Rows.Add(dr);
}

dataGridView3.DataSource = dt3;
}



با تشکر

programerinfonet
یک شنبه 24 فروردین 1393, 17:20 عصر
الان این کد درسته داره همه رو نشون میده
حالا 4 تا دکمه میزاریم اینها رو نمایش بده
رکوردهایی که changesh فقط :
ورود
ورود و افزایش
خروج
خروج و کاهش رو نمایش بده
خیلی خیلی خیلی ممنون از لطفت

behzadkhan
یک شنبه 24 فروردین 1393, 20:57 عصر
با سلام

همه اینها روی تب سوم و دیتاگیرید سوم نمایش داده بشن یا ؟

با تشکر

programerinfonet
یک شنبه 24 فروردین 1393, 22:24 عصر
بله
تو تب سوم دکمه با عنوان های "ورود و افزایش"و"خروج و کاهش" باشه که رو هر کدوم کلیک کردیم اون رکوردها تویگرید 3 بیاد

behzadkhan
یک شنبه 24 فروردین 1393, 23:42 عصر
با سلام

ببین با این کارت تمام میشه:
=======================================


private DataTable dt = new DataTable();
private DataTable dt2 = new DataTable();
private DataTable dt3 = new DataTable();


private DataTable dtIncrement = new DataTable();
private DataTable dtDecrement = new DataTable();
private DataTable dtEnter = new DataTable();
private DataTable dtQuait = new DataTable();


private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Saham");


dt.Rows.Add("1", "ali", "1000");
dt.Rows.Add("2", "reza", "1000");
dt.Rows.Add("3", "hasan", "1000");
dataGridView1.DataSource = dt;


dt2.Columns.Add("ID");
dt2.Columns.Add("Name");
dt2.Columns.Add("Saham");


dt2.Rows.Add("1", "ali", "1500");
dt2.Rows.Add("3", "hasan", "500");
dt2.Rows.Add("4", "mohammad", "1500");
dataGridView2.DataSource = dt2;


dt3.Columns.Add("ID");
dt3.Columns.Add("Name");
dt3.Columns.Add("Saham");
dt3.Columns.Add("Change");
dataGridView3.DataSource = dt3;


dtEnter.Columns.Add("ID");
dtEnter.Columns.Add("Name");
dtEnter.Columns.Add("Saham");
dtEnter.Columns.Add("Change");


dtQuait.Columns.Add("ID");
dtQuait.Columns.Add("Name");
dtQuait.Columns.Add("Saham");
dtQuait.Columns.Add("Change");


dtIncrement.Columns.Add("ID");
dtIncrement.Columns.Add("Name");
dtIncrement.Columns.Add("Saham");
dtIncrement.Columns.Add("Change");


dtDecrement.Columns.Add("ID");
dtDecrement.Columns.Add("Name");
dtDecrement.Columns.Add("Saham");
dtDecrement.Columns.Add("Change");
}


private void button1_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["id"] = textBox1.Text;
dr["name"] = textBox2.Text;
dr["saham"] = textBox3.Text;


dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}


private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt2.NewRow();
dr["id"] = textBox4.Text;
dr["name"] = textBox5.Text;
dr["saham"] = textBox6.Text;


dt2.Rows.Add(dr);
dataGridView2.DataSource = dt2;
}


void Changes()
{
DataTable tempdt = new DataTable();
DataTable tempdt2 = new DataTable();


tempdt = dt.Copy();
tempdt2 = dt2.Copy();


int i = 0, j = 0;
while (tempdt.Rows.Count > 0)
{


DataRow dr = dt3.NewRow();
dr["ID"] = tempdt.Rows[0]["ID"].ToString();
dr["Name"] = tempdt.Rows[0]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[0]["Saham"].ToString();
dr["Change"] = "خروج";


while (tempdt2.Rows.Count > j)
{
if (tempdt.Rows[i]["ID"].ToString() == tempdt2.Rows[j]["ID"].ToString())
{

if (Convert.ToInt16(tempdt.Rows[i]["saham"]) > Convert.ToInt16(tempdt2.Rows[j]["saham"]))
{
dr["Change"] = "کاهش";
}
else if (Convert.ToInt16(tempdt.Rows[i]["saham"]) < Convert.ToInt16(tempdt2.Rows[j]["saham"]))
{
dr["Change"] = "افزایش";
}
else
{
dr["Change"] = "ثابت";
}


dr["ID"] = tempdt.Rows[i]["ID"].ToString();
dr["Name"] = tempdt.Rows[i]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[j]["Saham"].ToString();


dt3.Rows.Add(dr);
if (dr["Change"].ToString() == "کاهش")
{
dtDecrement.ImportRow(dr);
}
else if (dr["Change"].ToString() == "افزایش")
{
dtIncrement.ImportRow(dr);
}


dr = null;
tempdt2.Rows[j].Delete();
break;
}
j++;
}
tempdt.Rows[0].Delete();
j = 0;
if (dr != null)
{
dt3.Rows.Add(dr);
dtQuait.ImportRow(dr);
}


}


for (i = 0; i < tempdt2.Rows.Count; i++)
{
DataRow dr = dt3.NewRow();
dr["ID"] = tempdt2.Rows[i]["ID"].ToString();
dr["Name"] = tempdt2.Rows[i]["Name"].ToString();
dr["Saham"] = tempdt2.Rows[i]["Saham"].ToString();
dr["Change"] = "ورود";
dt3.Rows.Add(dr);
dtEnter.ImportRow(dr);
}
}
private void button3_Click(object sender, EventArgs e)
{
dt3.Clear();
dataGridView3.DataSource = null;


Changes();
dataGridView3.DataSource = dt3;
}
private void btnEnter_Click(object sender, EventArgs e)
{
dtEnter.Clear();
dataGridView3.DataSource = null;


Changes();
dataGridView3.DataSource = dtEnter;
}


private void btnIncrement_Click(object sender, EventArgs e)
{
dtIncrement.Clear();
dataGridView3.DataSource = null;


Changes();
dataGridView3.DataSource = dtIncrement;
}


private void btnQuait_Click(object sender, EventArgs e)
{
dtQuait.Clear();
dataGridView3.DataSource = null;


Changes();
dataGridView3.DataSource = dtQuait;
}


private void btnDecrement_Click(object sender, EventArgs e)
{
dtDecrement.Clear();
dataGridView3.DataSource = null;


Changes();
dataGridView3.DataSource = dtDecrement;
}

programerinfonet
سه شنبه 26 فروردین 1393, 13:10 عصر
حالا من میخوام که جمع ستون سهم رو در یک لیبل نمایش بدم اما به این شکل که :
رکوردهایی که change= افزایش یا ورود دارن مبلغش از فیلد سهم دیتاتیبل3 بیاد و رکوردهایی که change =و کاهش دارن سهمش از فیلد سهم دیتاتیبل یک بیاد
امیدوارم تونسته باشم منظورمو برسونم

behzadkhan
سه شنبه 26 فروردین 1393, 14:03 عصر
با سلام

برای تفهیم کامل مساله:

لطفا مانند پست های قبلیتان از یک مثال استفاده کنید.

همچنین در صورتی که توانایی انجامش را داشتم روی همون مثال تست کنم.

با تشکر