PDA

View Full Version : سوال: مشکل وارد کردن اطلاعات gridview در فایل متنی



nina_rahmani
یک شنبه 23 تیر 1392, 12:14 عصر
دوستان
می خواهم اطلاعات gridview را در یک فایل متنی بریزم به طوری که رکوردها در فایل متنی زیر هم قرار بگیرند نه پشت سر هم...
با کلیک اطلاعات به صورت بالا در فایل متنی ریخته شود و با کلیک بعدی اطلاعات فایل متنی پاک شود و اطلاعات جدیدی که در gridview وجود دارد در همان فایل متنی ریخته شود...

Y_Safaiee
یک شنبه 23 تیر 1392, 14:08 عصر
با سلام خدمت شما

اینطور که من متوجه شدم .


راه سادش اینه :



StreamWriter writer=new StreamWriter("d:\\Records.txt",true);
foreach (DataGridViewRow r in table1DataGridView.Rows)
{
writer.WriteLine(r.Cells[0].Value.ToString() + "\t" + r.Cells[1].Value.ToString());
}

writer.Close();


ورودی:
http://s2.picofile.com/file/7845494080/In.jpg

خروجی :
http://s2.picofile.com/file/7845494836/Out.jpg


موفق باشین
بایت بایت

nina_rahmani
دوشنبه 24 تیر 1392, 09:44 صبح
ممنون که جواب دادید ولی مشکل من هنوز حل نشده

کدی که نوشتم
string[] s = new string[4];
string s1 = "";
for (int i = 0; i < dt_factor.Rows.Count; i++)
{
s[0] = dataGridView1.Rows[i].Cells["Clm_Id"].Value.ToString();
s[1] = dataGridView1.Rows[i].Cells["Clm_name"].Value.ToString();
s[2] = dataGridView1.Rows[i].Cells["Clm_lname"].Value.ToString();
s[3] = dataGridView1.Rows[i].Cells["Clm_tell"].Value.ToString();
for (int j = 0; j < s.Length; j++)
{
s1 += s[j] + ",";
}
s1 = s1 + "\n";
}
s1 = s1.Substring(0, s1.Length - 2);
MessageBox.Show(s1);
StreamWriter sw = new StreamWriter(@"D:\Tamrin\TestPaking\TestPaking\Test.txt",true);
sw.WriteLine(s1);
sw.Close();


که وقتی با
MessageBox.Show(s1);

تست میکنم فرمت دلخواه من است ولی در فایل متنی که ذخیره میشه رکوردها پشت سر هم هستند نه زیر هم..!!!
107256107255107254

tooraj_azizi_1035
دوشنبه 24 تیر 1392, 11:43 صبح
public void WriteTextFile(DataTable dtData, string FilePath)

{

using (StreamWriter sw = new StreamWriter(FilePath, false))

{

for (int x = 0; x < dtData.Columns.Count; x++)

{

sw.Write(dtData.Columns[x].ColumnName + ",");

}

sw.WriteLine();



foreach (DataRow row in dtData.Rows)

{

for (int n = 0; n < dtData.Columns.Count; n++)

{

sw.Write(row[n].ToString() + ",");

}

sw.WriteLine();

}

sw.Close();

}

}

Y_Safaiee
دوشنبه 24 تیر 1392, 12:28 عصر
با سلام مجدد

به نظر من بهتره اینطوری برنامه رو بنویسین اینطوری هر تعداد سطر که داشته باشین و هر سطر هر تعداد سلول داشته باشه همه ذخیره میشه.



using System.IO;
namespace WriteRecord
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
StreamWriter writer = new StreamWriter("d:\\Record.txt", true);

foreach (DataGridViewRow r in dataGridView1.Rows)
{
foreach (DataGridViewCell c in r.Cells)
{
writer.Write(c.Value.ToString() + ",");
}

writer.Write(writer.NewLine);
}

writer.Close();
}
}
}


ورودی:
http://s2.picofile.com/file/7846887846/In1.jpg

خروجی :
http://s4.picofile.com/file/7846889672/out1.jpg

موفق باشین
بایت بایت

nina_rahmani
دوشنبه 24 تیر 1392, 14:39 عصر
public void WriteTextFile(DataTable dtData, string FilePath)

{

using (StreamWriter sw = new StreamWriter(FilePath, false))

{

for (int x = 0; x < dtData.Columns.Count; x++)

{

sw.Write(dtData.Columns[x].ColumnName + ",");

}

sw.WriteLine();



foreach (DataRow row in dtData.Rows)

{

for (int n = 0; n < dtData.Columns.Count; n++)

{

sw.Write(row[n].ToString() + ",");

}

sw.WriteLine();

}

sw.Close();

}

}




چرا تو این کد اسم ستون های گرید هم میاد...؟

ممنون که جواب دادید.

hamid_hr
دوشنبه 24 تیر 1392, 14:47 عصر
for (int x = 0; x < dtData.Columns.Count; x++)

{

sw.Write(dtData.Columns[x].ColumnName + ",");

}

sw.WriteLine();
اينو پاك كن نمياد

nina_rahmani
دوشنبه 24 تیر 1392, 15:03 عصر
خیلی ممنون دوستان ...
:لبخندساده: