سلام.من میخواهم در load یکی از فرم هایم از 2 جدول بانک اطلاعاتی ام اطلاعاتش را بخوانم در یک dataset بریزم و 2 تا gridview را پر کنم.اشکالش اینه که هر بار در اجرا فقط یکی از gridviewها پر میشه یعنی یکی از table های داخل dataset را میشناسه
سلام.من میخواهم در load یکی از فرم هایم از 2 جدول بانک اطلاعاتی ام اطلاعاتش را بخوانم در یک dataset بریزم و 2 تا gridview را پر کنم.اشکالش اینه که هر بار در اجرا فقط یکی از gridviewها پر میشه یعنی یکی از table های داخل dataset را میشناسه
اینو امتحان کنید:
اول دیتاست رو با جدول اول پرکنید بهdataGridView موردنظر وصل کنید ، دیتاست رو clear کنیدmyDataSet = new DataSet();
myDataAdapter = new SqlDataAdapter();
con = new SqlConnection("Data Source = (local);Initial Catalog = karamuzy ;Integrated Security=True");
myDataSet.Clear();
mydataGridView.ClearSelection();
myDataAdapter.SelectCommand = new SqlCommand();
myDataAdapter.SelectCommand.Connection = con;
myDataAdapter.SelectCommand.CommandText = qury1;
myDataAdapter.SelectCommand.CommandType = CommandType.Text;
con.Open();
myDataAdapter.Fill(myDataSet, "Table1");
mydataGridView1.AutoGenerateColumns = true;
mydataGridView1.DataSource = myDataSet;
mydataGridView1.DataMember = "Table1";
myDataSet.Clear();
myDataAdapter.SelectCommand.CommandText = qury2
myDataAdapter.Fill(myDataSet, "Table2");
mydataGridView2.AutoGenerateColumns = true;
mydataGridView2.DataSource = myDataSet;
mydataGridView2.DataMember = "Table2";
con.Close();
و command دوم رو اجرا کنید و حالا دیتاست رو با جدول دوم پرکنید و نتایج مرحله ی دوم رو بهdataGridView2 نسبت بدبد، فکر کنم این طوری درست بشه.
میشه از 2 تا دیتاست هم استفاده کرد ،چرا می خواید فقط از یه دیتاست استفاده کنید؟
بله خب DataSet فقط يك جدول رو نگه ميداره. خب شما اول يك GridView رو پر كنيد و بعد جدول دوم رو بريزيد توي DataSet و بعدش هم GridView دوم.
كدش رو ديگه خودتون بنويسيدلطفا.
اگه مشكل داشتيدبگيد كه كد رو هم بزارم (ولي خودتون تلاش كنيد ديگه).
ويرايش: پاسخ همزمان. دوستمون كه ديگه كد رو هم گذاشتن. دستشون درد نكنه.
وقتی dataset را clearمیکنم اطلاعات grid اولم پاک میشه
خب از DataSet یه کپی بگیر!
خب از دوتا DataSet استفاده كن كه راحت بشي.
ويرايش: پست همزمان. درباره كپي گرفتن هم كه ميشه دوتا DataSet ديگه.!!
DataSet می تونه شامل چند DataTable باشه پس می تونید هر Command رو توی یکDataTable از DataSet مورد نظرتون بریزید.
برای این کار کافیه هنگام اجرای Command توسط متد Fill مربوط به DataAdapter در پارامتر دوم دو Table متفاوت رو بدید