PDA

View Full Version : مشخص کردن عبارت SQL که پشت DataGridView قرار دارد



nasr
سه شنبه 04 دی 1386, 08:17 صبح
سلام
من این عبارت را دارم


dataGridView1.DataSource = db.select("select * from kala order by code_kala").Tables[0];

حالا می خوام با فشردن یک دکمه Lable1 را مقدارش را برابر با این عبارت کنم


select * from kala order by code_kala

یعنی می خوام عبارت پشت DataGridView را بدونم چیه
ممنون

reza_rad
سه شنبه 04 دی 1386, 08:26 صبح
فکر کنم باید از دیتا سورسی که datagridview شما از اون می خونه بخونیش.
مثلا اگه با dataset و با استفاده از dataadapter پرش می کنی از اینجا:


sqldataadapter1.selectcomand.commandtext

nasr
سه شنبه 04 دی 1386, 08:30 صبح
آیا میشه از datagridview به DataAdapter ش رسید؟

reza_rad
سه شنبه 04 دی 1386, 08:36 صبح
فکرنمیکنم
این رو بایدخودتون توی کد هندلش کنید.قاعدتا خودتون می دونید که این دیتا گرید با چه دیتاستی و اوندیتاست توسط چه dataadapter ای پر میشه.

nasr
سه شنبه 04 دی 1386, 10:48 صبح
من یک کلاس نوشته ام به این صورت


public DataSet select(string SelectCommand)
{
SqlDataAdapter adap = new SqlDataAdapter(SelectCommand, conection);
DataSet ds = new DataSet();
conection.Open();
adap.Fill(ds);
conection.Close();
return ds;
}
و در برنامه ازش اینطوری استفاده می کنم



MyDB db = new MyDB();
dataGridView1.DataSource = db.select("select * from kala order by code_kala").Tables[0];
حالا چطوری به هدفم برسم

reza_rad
سه شنبه 04 دی 1386, 11:04 صبح
اینجوری فکرنمی کنم بشه.(یا لااقل من راهی سراغ ندارم)
می تونی یه کار دیگه بکنی:
یه دیتاگرید ویو خودت بسازی یعنی از datagridview اصلی inherit کنی و یک پراپرتی براش بذاری واسه select ات.
توی برنامه ات از گرید جدیدت استفاده کنی.
حالا هر وقت می خوای پرش کنی این پراپرتی رو هم set کنی.
و هر وقت هم بخوای بخونیش.

ir_programmer
سه شنبه 04 دی 1386, 11:14 صبح
من هم موافق راد هستم. یه کلاس مثل DataGridViewEx می سازیم و توی اون پروپرتی اضافه کنیم و هر وقت خواستیم set و get کنیم.