PDA

View Full Version : قرار دادن اطلاعات یک رشته در فیلد های datagridview



shahab.es
پنج شنبه 02 مهر 1394, 21:20 عصر
سلام و خسته نباشید به دوستان خیلی خیلی عزیز
یه سوال و مشکل برام پیش اومده
ممنون میشم مثل همیشه، کمک کنید :) :gol:

من میام و یه صفحه وب رو دانلود میکنم که این صفحه، خروجی وب سرویس هست(البته نه این صفحه، این صفحه برای تسته)
من میام و درسافتشون میکنم و میخوام توی دیتا گرید ویو، قرارشون بدم اما میگه همچین اسمی(اسم فیلد ) موجود نیست
ممنون میشم کمکم کنید
این تصویر ارور
135475

اینم کدهام :)


private void button1_Click(object sender, EventArgs e)
{


using (WebClient client = new WebClient())
{
string htmlCode = client.DownloadString("http://schoolearn.ir/shahab/C/test.php");
string[] htmlcod = Regex.Split(htmlCode, "<br>");
DataTable dt = new DataTable();
dataGridView1.DataSource = dt;
DataRow dr = dt.NewRow();

for (int i = 0; i < htmlcod.Length; i++)
{
string[] asli = Regex.Split(htmlcod[i], "#");
MessageBox.Show(asli[0] + " ::: " + asli[1]);
dr["fname"] = asli[0];
dr["lname"] = asli[1];
dt.Rows.Add(dr);
}

}

}




خیلی خیلی ممنونم دوستان

Mahmoud.Afrad
جمعه 03 مهر 1394, 08:40 صبح
بعد از ایجاد دیتاتیبل ستونهای fname , lname رو به دیتاتیبل اضافه کن.

shahab.es
جمعه 03 مهر 1394, 10:29 صبح
خیلی خیلی ممنونم ازتون محمود جان
یعنی منظورتون اینه که اطلاعات رو برزم تو بانک و بعد بانک رو توی دیتا گرید ویو نشون بدم؟
ممنونم، انجام میدم و خبرتون میکنم....

Mahmoud.Afrad
جمعه 03 مهر 1394, 21:03 عصر
نه، منظورم اینه که در کد شما دیتاتیبل ستونی نداره که بخواهید مقدار بهش بدید.
ایجاد row را هم به داخل حلقه باید ببری:

DataTable dt = new DataTable();
dt.Columns.Add("Fname");
dt.Columns.Add("Lname");
dataGridView1.DataSource = dt;

for (int i = 0; i < htmlcod.Length; i++)
{
DataRow dr = dt.NewRow();
// ...
}

shahab.es
جمعه 09 بهمن 1394, 22:07 عصر
سلام و خسته نباشید خدمت تمام دوستان عزیز
میخوام اطلاعاتی رو که از یه فایل php میگیرم و جدا سازی میکنم رو ، بریزم توی یه دیتا گرید ویو
توی گرفتن اطلاعات و جدا سازی مشکلی ندارم
اما فقط بلدم اطلاعات دیتابیس رو بریزم توی گرید ویو اونم با ویزاردش
ممنون میشم با کدش یا هر روش دیگه ای،بهم کمک کنید تا اطلاعاتی که میخوام رو بریزم توی دیتا گرید ویو
ممنونم

حسین.کاظمی
جمعه 09 بهمن 1394, 22:18 عصر
سلام
دوست عزیز روش یا کداستفاده شده را بزارید تا بشه بیشتر کمکت کنیم

shahab.es
جمعه 09 بهمن 1394, 22:50 عصر
سلام عزیزم،ممنون که پاسخ دادید
کد زیر رو ببینید
public static void DownloadString(string address)
{
WebClient client = new WebClient();
string reply = client.DownloadString(address);
String[] str1,str2;
String s1, s2, s3;
str1 = Regex.Split(reply, "<br>");
for (int i = 0; i < str1.Length - 1; i++)
{
str2 = Regex.Split(str1[i], "#");
s1 = str2[0];
s2 = str2[1];
s3 = str2[3];
}


}


میخوام به این سه تا متغیر s1,s2,s3 رو برای مثال بریزم توی 3 تا ستون دیتا گرید ویو خودم
ممنونم بسیار

حسین.کاظمی
جمعه 09 بهمن 1394, 23:09 عصر
ببین این کد بدردت میخوره


object[] objRow = { S1, S2 };

dataGridView1.Rows.Add(objRow);

shahab.es
جمعه 09 بهمن 1394, 23:43 عصر
ممنونم
سینتکس ارور داره
An object reference is required for the non-static field, method, or property 'amin_net.Form1.dataGridView1'
به این شکل استفاده کردم...

public static void DownloadString(string address)
{
WebClient client = new WebClient();
string reply = client.DownloadString(address);
String[] str1,str2;
String s1, s2, s3;
str1 = Regex.Split(reply, "<br>");
for (int i = 0; i < str1.Length - 1; i++)
{
str2 = Regex.Split(str1[i], "#");
object[] objRow = {str2[0], str2[1] };

dataGridView1.Rows.Add(objRow);
}
}


ممنونم بسیار
بعد الان یادم اومد قبلا هم پرسیده بودم سوالو...
اقا محمود بهم پاسخ داده بودن اما فک کنم به کارم نیومده بود یا متوحهش نشده بودم
اگه براتون مقدوره یه نگاه بندازید و با توجه به کدی که تا الان نوشتیم، کمکم کنید،ممنون هموطن :)

shahab.es
شنبه 10 بهمن 1394, 02:14 صبح
خوب،من با کمکی که اقا محمود کرده بودن، به نتیجه رسیدم...
خیلی خیلی ممنون از داداش حسین گل
اینم کدا که اگه کسی نیاز داشت،بهره ببره :)

private void button1_Click(object sender, EventArgs e)
{

WebClient client = new WebClient();
string reply = client.DownloadString("myurl");
String[] str1, str2;
str1 = Regex.Split(reply, "<br>");
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("tozih");
dt.Columns.Add("link");
dt.Columns.Add("member");
dataGridView1.DataSource = dt;
for (int i = 0; i < str1.Length - 1; i++)
{
str2 = Regex.Split(str1[i], "#");
DataRow dr = dt.NewRow();
dr["id"] = str2[0];
dr["name"] = str2[1];
dr["tozih"] = str2[2];
dr["link"] = str2[3];
dr["member"] = str2[4];
dt.Rows.Add(dr);
}

}

ممنونم