PDA

View Full Version : پر کردن دیتاگرید ویو



سمانه علوی فر
یک شنبه 25 اردیبهشت 1390, 12:39 عصر
یک DataGridView دارم می خواهم با دستورات زیر آن را پر کنم



strQry = "select * from tbl";


SqlCommand Cmd = new SqlCommand();
Cmd.Connection = ConString;
Cmd.CommandText = strQry;

DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();

da.SelectCommand = Cmd;
da.Fill(ds, tblName);

dgv.DataSource = ds.Tables[tblName];



مشکل این جاست که وقتی strQry که کویری است را به این تابع پاس می کنم هدر دیتاگرید عوض می شود
و تمام ستونها دوباره تکرار می شوند چون یک بار در دیزاین فرم برای آنها هدر تعریف کرده ام و یک بار از کویری هدر می گیرند. چه کنم که این اتفاق نیفتد؟

من می خواهم یک دیتا گرید داشته باشم که هم بتوانم از آن برای ذخیره داده ها استفاده کنم و هم بتوانم داده ها را در ان بازیابی کنم باید چه کنم تا این اتفاق رخ ندهد؟


خواهش می کنم راهنمایی نمائید

zare69
یک شنبه 25 اردیبهشت 1390, 13:44 عصر
سلام دوست عزیز من کامل منظورت را نفهمیدم ولی تابع زیر برای پر کردن دیتاگرید است امیدوارم به درد بخوره. فکر کنم با دیتاگرید راحتر بتونی کار کنی
public void LoadDataGridView()
{


int i = 0;
dataGridView1.Rows.Clear();
DataSet ds;

ds = Cowman.Class1.PDataset("SELECT * FROM TBl");




if (ds.Tables[0].Rows.Count > 0)
{

// toolStripProgressBar1.Maximum = ds.Tables[0].Rows.Count;
foreach (DataRow dr in ds.Tables[0].Rows)
{

dataGridView1.Rows.Add();

dataGridView1.Rows[i].Cells[0].Value = dr["filde1"].ToString().Trim();
dataGridView1.Rows[i].Cells[1].Value = dr["filde2"].ToString().Trim();
dataGridView1.Rows[i].Cells[2].Value = dr["filde3"].ToString().Trim();

i += 1;


}
}
}

Reza_Yarahmadi
یک شنبه 25 اردیبهشت 1390, 18:09 عصر
مشکل این جاست که وقتی strQry که کویری است را به این تابع پاس می کنم هدر دیتاگرید عوض می شود
و تمام ستونها دوباره تکرار می شوند چون یک بار در دیزاین فرم برای آنها هدر تعریف کرده ام و یک بار از کویری هدر می گیرند. چه کنم که این اتفاق نیفتد؟
یک راه هم اینه که کدتون رو تغییر ندید و به خاصیت Columns دیتاگرید برید و برای هر ستون خاصیت DataPropertyName اونو برابر نام فیلد متناظر با اون توی دیتابیس بذارید.

mehr_computer
یک شنبه 25 اردیبهشت 1390, 18:53 عصر
سلام دوست عزیز
اول گریدویو رو با یک دیتاست به اون جدولی که می خواهی پیوند بدهی متصل کن که هدرهایش را ببینی و تغییر دهی بعدش اگر با یک کویری دیگه بهش بشی با همان هدر دلخواهت نشان داده خواهد شد.
پس اول با ویزارد به دیتابیست وصل شو و آن جدول را نشان بده و هدرهایت را تغییر بده و بعدا با کویری دلخواهت نشوننش بده
من این کار رو کردم موفق شده ام.
ایشالا موفق باشی