PDA

View Full Version : split کردن داده ها به دیتاگریدویو DataGridView



moghtada
یک شنبه 07 تیر 1394, 21:58 عصر
سلام

میخام این اطلاعات رو وارد دیتا گرید ویو کنم بطوری که هر کدوم از خط ها در یک سطر و هر کدام از داده ها که با "," از هم جدا شدن در یک سلول قرار بگیرن
01,02,03,04,05,06
07,08,09,10,11,12
13,14,15,16,17,18
19,20,21,22,23,24
ممنون

khokhan
یک شنبه 07 تیر 1394, 22:41 عصر
سلام

میخام این اطلاعات رو وارد دیتا گرید ویو کنم بطوری که هر کدوم از خط ها در یک سطر و هر کدام از داده ها که با "," از هم جدا شدن در یک سلول قرار بگیرن
01,02,03,04,05,06
07,08,09,10,11,12
13,14,15,16,17,18
19,20,21,22,23,24
ممنون

.................................................. .یه دیتاتیبل از رشته درس کن بعدش هم که.....


string mystring = "01,02,03,04,05,06 \r\n 07,08,09,10,11,12 \r\n 13,14,15,16,17,18 \r\n 19,20,21,22,23,24";

string[] rowStringCollection = mystring.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

DataTable table = new DataTable();
int columnCount = 7;
for (int i = 1; i <= columnCount; i++)
{
DataColumn col = new DataColumn("col" + i);
table.Columns.Add(col);
}
//
foreach (string rowString in rowStringCollection)
{

string[] rowData = rowString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

DataRow row = table.NewRow();

for (int i = 0; i < rowData.Length; i++)
{
row[i] = rowData[i];
}

table.Rows.Add(row);
}
dataGridView1.DataSource = table;

RmeXXXXXXXXX
یک شنبه 07 تیر 1394, 23:06 عصر
foreach(var line in BASE_STRING.Split("\n")
{
var row= new DataGridViewRow();
foreach(var cell in line.Split(','))
row.Cells.Add(new DataGridViewTextCellBox(){Value= cell});
dataGridView1.Rows.Add(row);
}

moghtada
دوشنبه 08 تیر 1394, 12:02 عصر
.................................................. .یه دیتاتیبل از رشته درس کن بعدش هم که.....


string mystring = "01,02,03,04,05,06 \r\n 07,08,09,10,11,12 \r\n 13,14,15,16,17,18 \r\n 19,20,21,22,23,24";

string[] rowStringCollection = mystring.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

DataTable table = new DataTable();
int columnCount = 7;
for (int i = 1; i <= columnCount; i++)
{
DataColumn col = new DataColumn("col" + i);
table.Columns.Add(col);
}
//
foreach (string rowString in rowStringCollection)
{

string[] rowData = rowString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

DataRow row = table.NewRow();

for (int i = 0; i < rowData.Length; i++)
{
row[i] = rowData[i];
}

table.Rows.Add(row);
}
dataGridView1.DataSource = table;

خیلی ممنون از جوابتون
ولی وقتی برنامه به قسمت for میرسه پیغام cannot find column 7 میده

khokhan
دوشنبه 08 تیر 1394, 12:17 عصر
خیلی ممنون از جوابتون
ولی وقتی برنامه به قسمت for میرسه پیغام cannot find column 7 میده

.................................................. ..................................................
132722

moghtada
دوشنبه 08 تیر 1394, 12:17 عصر
foreach(var line in BASE_STRING.Split("\n")
{
var row= new DataGridViewRow();
foreach(var cell in line.Split(','))
row.Cells.Add(new DataGridViewTextCellBox(){Value= cell});
dataGridView1.Rows.Add(row);
}

ممنون از پاسختون
وقتی به خط roww.Cells.Add(new DataGridViewTextBoxCell() { Value = cell });
میرسه پیغام میده:
collection already belongs to datagridview control. this program is no longer valid

moghtada
دوشنبه 08 تیر 1394, 12:30 عصر
مرسی
اگه یه متن دیگه با سطرها و ستون های بیشتر داشته باشم چکار باید بکنم

moghtada
چهارشنبه 10 تیر 1394, 19:01 عصر
دم همتون گرم ولی آخرش از این کد استفاده کردم

string[] line = richTextBox1.Text.Split('\n');
for (int row = 0; row < richTextBox1.Lines.Length; row++)
{
dataGridView1.RowCount++;
for (int r = 0; r < 16; r++)
{
string[] cel= line[row].Split(',');
dataGridView1.Rows[row].Cells[r].Value = cel[r];
}
}