PDA

View Full Version : پر کردن Datatable



مهدی رحیم زاده
پنج شنبه 29 شهریور 1386, 22:44 عصر
سلام
من یه مشکل عجیب برام پیش اومده !!!
من با این دستورات یه دیتا تیبل رو پر می کنم :

string code = InputBox.Show("کد مشتری را وارد نمایید");
//read information for display data
if (code != string.Empty)
{
dt.Clear();
dt = getdata("select faktor_num,faktor_date,check_num,check_date,havale _num,havale_date,bedehkari,bestankari from Rec_costomer_hesab where costomer_code=" + code);
//
Form frm_obj = new search(dt);
frm_obj.Show();
}
ولی وقتی داده ها رو توی dataGridView می خوام نشون بدم چند تا فیلد دیگه هم نشون داده میشه !!!
من حتی یک شیء دیگه هم تعریف کردم و اونو پاس دادم اما بازم اون فیلد ها را نشون میده البته خالی ...
شما تا حالا با همچین مشکلی برخورد نکردین ؟؟؟
اگر آره بگید که چطوری مشکل رو حل کردین .

ممنون

PC2st
پنج شنبه 29 شهریور 1386, 23:29 عصر
ولی وقتی داده ها رو توی dataGridView می خوام نشون بدم چند تا فیلد دیگه هم نشون داده میشه !!!
من حتی یک شیء دیگه هم تعریف کردم و اونو پاس دادم اما بازم اون فیلد ها را نشون میده البته خالی ...
فیلدها رو بصورت خالی در dataGridView اضافه میکنه، احتمالا این سطرهای خالی یا در شیئ dt یا در dataGridView اضافه شده اند (یا بعدا این سطرها اضافه شدند یا از قبل بودن).
اما در این کدهایی که نوشتید، ظاهرا همه چیز درسته، چون کدهای پشت پرده معلوم نیست و معلوم نیست که اون سطرهای خالی در چه زمانی اضافه شده اند.

مهدی رحیم زاده
جمعه 30 شهریور 1386, 00:18 صبح
یک سئوال :
اگر این سطر ها به dataGridView قبلا اضافه شده باشن چطوری باید پاک بشن ؟؟؟

PC2st
جمعه 30 شهریور 1386, 05:24 صبح
اگر این سطر ها به dataGridView قبلا اضافه شده باشن چطوری باید پاک بشن ؟؟؟
سطر یا ستون؟ فکر کنم اشتباه تایپی شده و نوشتید سطر...

اگر بخوایم اون ستون ها رو حذف کنیم، مثلا دستور زیر ستونی با نام ID رو حذف میکنه:


dataGridView1.Columns.Remove("ID");
//یا اگر ایندکس ستون برابر 3 باشه
dataGridView1.Columns.RemoveAt(3);

مهدی رحیم زاده
جمعه 30 شهریور 1386, 10:08 صبح
مشکل کار اینه که Datatable خالی نمیشه یعنی خالی میشه ولی اون ستون ها توش باقی میمونه و وقتی من داده های جدید رو توی اون قرار میدم اونا + قبلیا نمایش داده میشن .
من برای حل مشکل قبل از پاس دادن داده ها از این کد استفاده کردم :

dt.Clear();

for (int i = 0; i <dt.Columns.Count; i++)
dt.Columns.RemoveAt(0);

dt = getdata("select device_code,date_,sharh,metrazh,kar_kard,bar_giri, bedehkar,bestankar from bil_info where date_='" + date+ "'");
اما بازم هر کاری که می کنم دو تا ستون باقی میمونه ...
چکار کنم که قبل از پر کردن Datatable همه ستون های قبلی اون پاک بشه ...

PC2st
جمعه 30 شهریور 1386, 15:17 عصر
برای پاک کردن همه ستونها:


dt.Columns.Clear();