PDA

View Full Version : اضافه كردن چك باكس به ديتا گريد و گرفتن خروجي تكس و اكسل از ديتا



Yanehsar
دوشنبه 23 مرداد 1391, 23:27 عصر
سلام دوستان
من داخل يه برنامه كه قبلا داشتم با استفاده از كدهاي زير اطلاعات رو به خروجي تكس ميريختم


con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "select NameTable from Query1 where Name like '%" + txtsearch.Text + "%'";
OleDbDataAdapter daEX = new OleDbDataAdapter();
daEX.SelectCommand = cmd;
DataTable dtEX = new DataTable();
daEX.Fill(dtEX);
StreamWriter sw = new StreamWriter(savefileEX);
DataRow objdatarow;
Object[] obj;
for (int i = 0; i < dtEX.Rows.Count; i++)
{
objdatarow = dtEX.Rows[i];
obj = objdatarow.ItemArray;
Invoke(new MethodInvoker(delegate { dgw1.Rows.Add(obj); }));
sw.Write(objdatarow[0]); sw.WriteLine();
}
sw.Close();
con.Close();
MessageBox.Show("فایل در موافقیت ساخته شد", "ساختن فایل");

اما حالا بايد يه چك باكس به ديتا گريد اضافه كنم و به كاربر اين اختيار رو بدم كه اونا رو انتخاب كنه و فقط اونهاي كه انتخاب شده رو به فايل خروجي تكس و اكسل انتقال بده.
ميشه راهنمائيم كنيد كه چيكار كنم؟

hamidkh
سه شنبه 24 مرداد 1391, 11:04 صبح
سلام
شما یه DataGridViewCheckBoxCell به دیتا گرید تون اضافه کنید و موقع خروجی گرفتن این شرط رو چک کنید:



foreach (DataGridViewRow item in dataGridView1.Rows)
{

if(((DataGridViewCheckBoxCell)item.Cells[0]).Value!=null)

if(((DataGridViewCheckBoxCell)item.Cells[0]).Value.ToString()=="1")
...

}

ali_habibi1384
سه شنبه 24 مرداد 1391, 11:31 صبح
if(((DataGridViewCheckBoxCell)item.Cells[0]).Value!=null)
اگر كاربر تيك بزنه و بعد تيك رو بزنه اين دستور اجرا ميشه چون null نيست و بنابراين اطلاعات رو add ميكنه كه غلطه . فقط در حالتي كه كاربر يكبار اينون تيك بزنه همه چي درسته.
بايد بعد از اينكه اين شرط برقرار بود شرط true بودن هم چك بشه بعد اضافه بشه.

hamidkh
سه شنبه 24 مرداد 1391, 11:33 صبح
if(((DataGridViewCheckBoxCell)item.Cells[0]).Value.ToString()=="1")
خب این قطعه کدی که گذاشتم برای همینه دیگه

Yanehsar
یک شنبه 29 مرداد 1391, 21:08 عصر
سلام اين كدها اصلا با ديتاگريد مرتبط نيست بلكه اطلاعات از بانك ميخونه و بعد ميريزه داخل ديتاگريد و فايل تكس .
ميشه راهنمائيم كنيد چطور روي اطلاعات ديتاگريدم كار كنم و خروجي بگيرم؟فايل تكس يا اكسل فرق نداره.(البته اكسل بهتره)