PDA

View Full Version : سوال: رفرش datagridview



sasanrstm
سه شنبه 06 فروردین 1392, 14:40 عصر
سلام به همه دوستان سال نو مبارک یه مشگل جدید با دیتا گرید دارم من اطلاعاتمو از طریق تسکت وارد دیتابیس میکنم واونو تو دیتا گرد نشون میدم تا اینجا مشگلی نیست چند تا دگمه گذاشتم برای نشون دادن دادهای در دیتا گرید که بصورت10 تائی هست ودگمه پس وپیش هم گذاشتم وقتی یکبار رو دگمه کلیک میکنم درست نشون میده اما بار دوم ظاهر دیتا گرید تغییر میکنه میشه راهنمائی کنن اساتید چرا اینجوری میشه عکس دیتا رو میزارم101938101939

tooraj_azizi_1035
سه شنبه 06 فروردین 1392, 15:16 عصر
سلام
دلیلش اینه که شما تو کد Select از Alias استفاده نکردی:
SELECT ID AS 'ردیف',N_Froshande AS 'نام فروشنده'

sasanrstm
سه شنبه 06 فروردین 1392, 19:16 عصر
سلام
دلیلش اینه که شما تو کد Select از Alias استفاده نکردی:
SELECT ID AS 'ردیف',N_Froshande AS 'نام فروشنده'
یه چیزی یادم رفت بگم من این (ردیف) رو تو قسمت hedertext گرید ویو نوشتم تو بانک تعریف نکردم
101956

sasanrstm
سه شنبه 06 فروردین 1392, 20:15 عصر
دوستان کجائید پس کسی بلد راهنمائی کنه؟؟؟؟؟؟؟؟؟؟

ali_habibi1384
سه شنبه 06 فروردین 1392, 20:27 عصر
ظاهرا شما هر بار كه رفرش ميكني داري كل اطلاعات رو دوباره از ديتابيس ميخوني و مياري توي جداول واسه همين هدرهاي جداولت هم با اينكار عوض ميشه.وقتي شما مجدد ميخوني واسه گريد مثل اينه كه داري يه سري اطلاعات جديد واسش مياري و همه اون تنظيمات قبلي پاك ميشه.
شما يه تابع درست كن و هدرها رو هم بجاي حالتي ويزاردي اونجا نامگذاري كن و هرموقع لازم داشتي اطلاعات رو رفرش كني اون تابع رو صدابزن.

C#‎_best_Programmer
سه شنبه 06 فروردین 1392, 20:31 عصر
داشم تیبلت با جستجو و مقادیر جدید جدول مپینگ میشه اینکه سادست

sasanrstm
سه شنبه 06 فروردین 1392, 21:19 عصر
ظاهرا شما هر بار كه رفرش ميكني داري كل اطلاعات رو دوباره از ديتابيس ميخوني و مياري توي جداول واسه همين هدرهاي جداولت هم با اينكار عوض ميشه.وقتي شما مجدد ميخوني واسه گريد مثل اينه كه داري يه سري اطلاعات جديد واسش مياري و همه اون تنظيمات قبلي پاك ميشه.
شما يه تابع درست كن و هدرها رو هم بجاي حالتي ويزاردي اونجا نامگذاري كن و هرموقع لازم داشتي اطلاعات رو رفرش كني اون تابع رو صدابزن.
مرسی دوست خوبم میشه بیشتر راهنمائی کنی واسه نوشتن این تابع

ali_habibi1384
سه شنبه 06 فروردین 1392, 21:43 عصر
خب مثلا من تابع LoadData رو واسه برنامه هاي خودم استفاده ميكنم.توي اين تابع اطلاعات جديد از ديتا بيس رو توي گريد ميريزه و هدر و بقيه مشخصات گريد رو مقدار دهي ميكنم:

private void LoadData()
{
dtDriver = refDriver.SelectAll();
dgv.DataSource = dtDriver;
dgv.Columns["DriverCode"].HeaderText = "كد راننده";
dgv.Columns["DriverName"].HeaderText = "نام راننده";
dgv.Columns["Moblie"].HeaderText = "همراه";
dgv.Columns["CompanyName"].HeaderText = "نام شركت";
dgv.Columns["CompanyTel"].HeaderText = "تلفن شركت";
dgv.Columns["CardNo"].HeaderText = "شماره كارت";
dgv.Columns["Nationality"].HeaderText = "مليت";
dgv.Columns["Details"].HeaderText = "توضيحات";
dgv.Columns["IdCard"].Visible = false;
dgv.Columns["idDriver"].Visible = false;
dgv.Columns["DriverCode"].Width = 80;
dgv.Columns["DriverName"].Width = 150;
dgv.Columns["Moblie"].Width = 110;
dgv.Columns["CompanyName"].Width = 180;
dgv.Columns["CompanyTel"].Width = 170;
dgv.Columns["CardNo"].Width = 70;
dgv.Columns["Nationality"].Width = 100;
dgv.Columns["Details"].Width = 300;
}

sasanrstm
چهارشنبه 07 فروردین 1392, 00:10 صبح
ممنون دوست خوبم اما شما چند خط کد گذاشتین توضیح ندادین چیکار کنم خب من یه دیتا گرید گذاشتم تو صفحه تابع رو هم نوشتم سلکتمو هم نوشتم صدا میزنم اما چیزی تو دیتا نشون نمیده؟؟

private void LoadData()
{
con = new SqlConnection(s);
cmd1 = new SqlCommand("Select * from Daryaft order by ID", con);
ds = new DataSet();
adp1 = new SqlDataAdapter(cmd1);
adp1.Fill(ds, "Daryaft");
this.dataGridView1.DataSource = ds;

//dataGridView2.DataSource = ds;
dataGridView2.ColumnHeadersVisible=true;
dataGridView2.Columns["id"].HeaderText="ردیف";
dataGridView2.Columns["N_Froshande"].HeaderText = "نام فروشنده";
dataGridView2.Columns["N_Kala"].HeaderText = "نام کالا";
dataGridView2.Columns["Tedad"].HeaderText = "تعداد";
dataGridView2.Columns["Mablagh"].HeaderText = "مبلغ";
dataGridView2.Columns["Total"].HeaderText = "کل";
dataGridView2.Columns["Tarikh"].HeaderText = "تاریخ";

);
}


درست به همون ردیف اول خطا میده؟؟؟

emperor_vb6
چهارشنبه 07 فروردین 1392, 00:49 صبح
ممنون دوست خوبم اما شما چند خط کد گذاشتین توضیح ندادین چیکار کنم خب من یه دیتا گرید گذاشتم تو صفحه تابع رو هم نوشتم سلکتمو هم نوشتم صدا میزنم اما چیزی تو دیتا نشون نمیده؟؟

private void LoadData()
{
con = new SqlConnection(s);
cmd1 = new SqlCommand("Select * from Daryaft order by ID", con);
ds = new DataSet();
adp1 = new SqlDataAdapter(cmd1);
adp1.Fill(ds, "Daryaft");
this.dataGridView1.DataSource = ds;

//dataGridView2.DataSource = ds;
dataGridView2.ColumnHeadersVisible=true;
dataGridView2.Columns["id"].HeaderText="ردیف";
dataGridView2.Columns["N_Froshande"].HeaderText = "نام فروشنده";
dataGridView2.Columns["N_Kala"].HeaderText = "نام کالا";
dataGridView2.Columns["Tedad"].HeaderText = "تعداد";
dataGridView2.Columns["Mablagh"].HeaderText = "مبلغ";
dataGridView2.Columns["Total"].HeaderText = "کل";
dataGridView2.Columns["Tarikh"].HeaderText = "تاریخ";

);
}


درست به همون ردیف اول خطا میده؟؟؟

شما ديتا ست رو وصل كرديد به گريد در حاليكه بايد يك جدول از ديتا ستتونو وصل ميكرديد.آقاي حبيبي ديتا تيبل رو وصل كردن

sasanrstm
چهارشنبه 07 فروردین 1392, 00:59 صبح
خب منظور شمارو متوجه نشدم خب من تو دیتاست یه جدول رو چک کردم وریختم تو دیتاست همون هم ریختم تو گرید؟؟؟؟؟؟؟؟؟؟ میشه واضحتر بگی چیکار باید بکنم
البته با کدش ممنون.

sasanrstm
چهارشنبه 07 فروردین 1392, 19:56 عصر
ممنون از همه دوستان مشگل بنده حل شد یه فایل ورد از یه جائی پیدا کردم که زبانش انگلیسه کاملا ک101995ار با دیتا گرید رو آموزش میده با استفاده از آن یه تابع تعریف کردم و تو دگمه فراخوانی اون تابع رو صدا میزنم بار رفرش دوباره هم اطلاعات تغییر نمیکنه کافی یه دیتا گرید به صفحه اضافه کنید واین تابع رو بنویسید فایل ورد رو هم میزارم اینجا به همراه کدی که نوشتم


private void PopulateDataGridView()
{

con = new SqlConnection(s);
cmd1 = new SqlCommand("Select * from Daryaft order by ID", con);
ds = new DataSet();
adp1 = new SqlDataAdapter(cmd1);
adp1.Fill(ds,"Daryaft");
this.dataGridView2.DataSource = ds;
this.dataGridView2.DataMember = "Daryaft";
this.CalculateTotalPages();
this.dataGridView2.DataSource = GetCurrentRecords(1, con);
con.Close();
dataGridView2.Size = new Size(600, 200);
// Add columns to the DataGridView.
// Set the properties of the DataGridView columns.
dataGridView2.Columns[0].Name = "ID";
dataGridView2.Columns[1].Name = "N_Froshande";
dataGridView2.Columns[2].Name = "N_Kala";
dataGridView2.Columns[3].Name = "Tedad";
dataGridView2.Columns[4].Name = "Mablagh";
dataGridView2.Columns[5].Name = "Total";
dataGridView2.Columns[6].Name = "Tarikh";
dataGridView2.Columns["ID"].HeaderText = "ردیف";
dataGridView2.Columns["N_Froshande"].HeaderText = "نام فروشنده";
dataGridView2.Columns["N_Kala"].HeaderText = "نام کالا";
dataGridView2.Columns["Tedad"].HeaderText = "تعداد";
dataGridView2.Columns["Mablagh"].HeaderText = "مبلغ";
dataGridView2.Columns["Total"].HeaderText = "جمع ";
dataGridView2.Columns["Tarikh"].HeaderText = "تاریخ";
dataGridView2.Columns["ID"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["N_Froshande"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["N_Kala"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["Tedad"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["Mablagh"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["Total"].SortMode =DataGridViewColumnSortMode.Programmatic;
dataGridView2.Columns["Tarikh"].SortMode =DataGridViewColumnSortMode.Programmatic;
}

sasanrstm
چهارشنبه 07 فروردین 1392, 19:57 عصر
private void button4_Click(object sender, EventArgs e)
{
try
{
PopulateDataGridView();

}
catch
{
}
موفق وسربلند باشید.