ورود

نسخه کامل مشاهده نسخه کامل : سوالاتي در مورد Data Grid View در C# visual stdio 2005



ClubMilad
25-08-2010, 22:47
سلام
چند تا سوال داشتم اگر لطف كنيد ممنون ميشوم
1- همون طور كه از توي عكس ميبينيد هر با كه اطلاعات نمايش داده مي شوند اطلاعات قبلي هم همان جا هستند براي رفع اين مشكل چكار كنم
2-چطور ميشود فيلد تعداد محصول را درون يك تكست باكس ريخت
3- چگونه مي شود با كليك روي يك فيلد از data grid مقدار آن را درون يك تكست باكس ريخت
4-چگونه ميشود مقدار سطر فلا و ستون فلان را در يك تكست ريخت

عكس

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید





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

namespace End_PR
{
public partial class frmshow : Form
{
SqlConnection cnn = new SqlConnection();
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();


private void Connect()
{
cnn.ConnectionString = "Data Source=PPC;initial catalog=cdshop ;integrated security=true;";
}

private DataSet LoadAll()
{
Connect();
cmd.CommandText = "select cod[كد محصول],name[نام محصول],noe[نوع محصول],sherkat[نام شركت],tarikhin[تاريخ ورود],noecd[نوع لوح فشرده],tedad[تعداد محصول],tedadcd[تعداد لوح فشرده],gheymat[قيمت] from t1";
cmd.Connection = cnn;
sda.SelectCommand = cmd;
cnn.Open();
sda.Fill(ds, "bank");
cnn.Close();
return ds;
}

public frmshow()
{
InitializeComponent();
}

private void frmshow_Load(object sender, EventArgs e)
{

}

private void btnbacktomain_Click(object sender, EventArgs e)
{
Close();
}

private void btnshow_Click(object sender, EventArgs e)
{

LoadAll();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "bank";
}

private void button1_Click(object sender, EventArgs e)
{
if (btnfull.Text == "Max Size")
{
this.Width = 700 + 300;
this.Height = 500;
this.Left = 20;
this.Top = 150;
dataGridView1.Width = 590 + 300;
dataGridView1.Height = 440;
btnfull.Text = "Min Size";
}
else
{
this.Width = 519;
this.Height = 323;
this.Left = 270;
this.Top = 200;
dataGridView1.Width = 406;
dataGridView1.Height = 268;
btnfull.Text = "Max Size";
}

}

private void button2_Click(object sender, EventArgs e)
{

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
}
}



كد برنامه

kasra_khan2003
25-08-2010, 23:38
باید از خاصیت DataBinding استفاده کنین...

mehrdad123
26-08-2010, 15:14
سلام من زیاد از C# و sql نمیدونم ولی واسه سوال اولت از این استفاده کن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ClubMilad
27-08-2010, 18:03
سلام من زیاد از C# و sql نمیدونم ولی واسه سوال اولت از این استفاده کن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اين كد را نوشتم ولي كار نكرد

_H2_
29-08-2010, 19:42
سلام
محل صحیح پرسش شما و جاییکه میتوانسید سریعتری به جواب برسید انجمن Framework ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) است.
پرسش شما در محل صحیح خیلی میتواند کمک کند.


همون طور كه از توي عكس ميبينيد هر با كه اطلاعات نمايش داده مي شوند اطلاعات قبلي هم همان جا هستند براي رفع اين مشكل چكار كنم
منظورتان این است که با خروج و ورود به برنامه، اخرین اطلاعات مجدد بارگذاری میشود؟؟؟
(معمولاً دوستان مشکل برعکس این دارند و میگویند چرا بار گذاری نمیشود!)

در روش DataSet دستوری که اطلاعات را ذخیره میکند DataAdapterName.Update است و دستور بارگذاری اطلاعات DataAdapterName.Fill است.
اگر اطلاعات شما خودکار بارگذاری میشود پس در سازنده کلاس یا رویداد load یک دستور DataAdapterName.Fill وجود دارد که از نمیخواهید باید حذف شود.



چطور ميشود فيلد تعداد محصول را درون يك تكست باكس ريخت
چگونه ميشود مقدار سطر فلا و ستون فلان را در يك تكست ريخت

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و...


چگونه مي شود با كليك روي يك فيلد از data grid مقدار آن را درون يك تكست باكس ريخت
برای کار با گراید بهتر است یک کامپونت BindingSource در سر راه منبع دیتا قرار دهید.
یعنی به جای انکه منبع را مستقیماً به DataGridViewName.DataSource متصل کنید آن را به BindingSourceName.DataSource متصل کنید و BingingSource را به DataFridViewName.DataSource بدهید.

با این عمل کنترلر کامل ناوبری DataGridView را در دست خواهید گرفت و بدون توجه به اینکه کاربر روی چه سرستونی کلیک کرده و الآن اطلاعات چطور مرتب (Sort) شده میتوانید سطر جاری گراید را تغییر دهید یا سطر DataSet مرتبط با سطر جاری گراید را به دست آورید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای اطلاعات بیشتر به تاپیک زیر مراجعه کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشید.