سلام دوستان
من یک ارایه دوبعدی دارم که می خواهم اطلاعات اون در دیتا گرید نمایش بدم
چطور میشه اینکار انجام داد
ممنون:11:
Printable View
سلام دوستان
من یک ارایه دوبعدی دارم که می خواهم اطلاعات اون در دیتا گرید نمایش بدم
چطور میشه اینکار انجام داد
ممنون:11:
سلام.
میشه یه نمونه از آرایه ات بذاری؟
چرا از List و کلاس بندی استفاده نمیکنی؟یا از DataSet
با سلام خدمت دوست گرامی
من نیاز دارم محتویات دو فیلد بگیرم و در یک ارایه دوبعدی نگه دارم
بعد یک بعد این ارایه باز باید در هدر گرید بذارم و بعد دیگشو محتویات گرید
مثلا
کد ------ نام کد
01 ------ حقوق پایه
02 ------- بدی اب و هوا
03 ----- مسکن
حالا باید این (حقوق پایه و بدی اب و هوا و مسکن در هدر گرید بیاد ) و زیر هر کدام کد خودش
مثلا حقوق پایه - بدی اب و هوا - مسکن
01 --------------- 02 ------------- 03
حالا شما چه راهی پیشنهاد می کنید؟
ممنون:11:
---------- Post added at 09:12 AM ---------- Previous post was at 09:07 AM ----------
البته اینم بگم که می خواستم با datatable کار کنم اما تعداد سطرها و ستون ها اصلا مشخص نیست
برای همین نمی دونم چند ستون و با چه نام هایی باید add کنم
بهترین راه ارایه پویا arry list بود اما مدل دو بعدیشو نمی دونستم چطوری میشه باهاش کار کرد
و از همه مهمتر چطوری اطلاعاتش بعد در گرید بریزم
نمی دونم مستقیم میشه ریخت یا نه؟
سلام.خسته نباشید...
این بهترین راهی بود که میتونستم بهتون پیشنهاد کنم:
مثال برای استفاده:کد:public class Person : IPerson
{
[DisplayName("نام کد")]
public string Name { get; set; }
[DisplayName("حقوق پایه")]
public string Law { get; set; }
[DisplayName("بدی آب و هوا")]
public string Weather { get; set; }
[DisplayName("مسکن")]
public string Housing { get; set; }
}
interface IPerson
{
string Name { get; set; }
string Law { get; set; }
string Weather { get; set; }
string Housing { get; set; }
}
موفق و سربلند باشید در پناه حق:46:.کد:List<Person> pers = new List<Person>();
pers.Add(new Person() { Name = "a", Law = "b", Weather = "c", Housing = "d" });
pers.Add(new Person() { Name = "a1", Law = "b1", Weather = "c1", Housing = "d1" });
pers.Add(new Person() { Name = "a2", Law = "b2", Weather = "c2", Housing = "d2" });
dataGridView1.DataSource = pers;
سلام
ممنون از شما
اما مشکلی که هست من تعداد پاارمترها رو نمی دونم چند تا هست
ممکنه یکبار 10 تا باشع یکبار 6 و هر دفعه متغیر هست
اینجا هست که به مشکل می خورم
مگه پارامتر ها رو چطوری دریافت میکنید؟
میشه یک نمونه بذارید؟
یک نمونه ی کامل.
ببینید
فرض کنید برای کد 10
پارامتر.......نام پارامتر
01...........حقوق پایه
02..............حق جذب
.................................................. ....
کد......11
پارامتر.......نام پارامتر
01...........حقوق پایه
02..............حق مسکن
03 .............بدی اب و هوا
.................................................. .
کد......12
پارامتر.......نام پارامتر
01...........حقوق پایه
02...........حق مسکن
03.............دوری از مرکز
مثلا در این مثال من باید در این سه کد بررسی کنم و اجتماعی از نام پارامترا رو ایجاد کنم
حالا فرض کنید ما کلا 60 پارامتر داریم که داره برای هر فردی تغییر میکنه و در بعضی افراد مشترک هست
ما باید اجتماعی از این پارامترها بیاریم که مشترک ها فقط یک بار بیاد
برای همین تعداد پارامترها مشخص نیست
حالا من تا اینجا انجام دادم و ریختم تو ارایه دو بعدی
یک بعد نام پارامتر و یک بعد کد
اما الان باید محتویات ارایه مثلا بریزم در datatble
اما الان تعداد سطرها و ستونهای پر شده ارایه نمی دونم چند تا هست؟
این با چه دستوری بدست بیارم که بعد با for بریزم در datatable
منظورم یک مثال کدی بود...
درست متوجه نشدم ولی میتونی اینجوری یه آرایه دو بعدی رو به DataBTable تبدیل کنی البته روش های زیادی هم وجود داره:
برای مثال:کد:private DataTable GetDataTable(string[,] array)
{
DataTable ret = new DataTable();
for (int i = 0; i < array.GetLength(1); i++)
{
ret.Columns.Add(i.ToString());
}
for (int i = 0; i < array.GetLength(0); i++)
{
List<object> row = new List<object>();
for (int j = 0; j < array.GetLength(1); j++)
{
row.Add(array[i, j]);
}
ret.Rows.Add(row.ToArray());
}
return ret;
}
کد:string[,] array = new string[2, 5];
array[0, 0] = "0";
array[0, 1] = "ali";
array[0, 2] = "546.656";
array[0, 3] = "a";
array[0, 4] = "end";
array[1, 0] = "1";
array[1, 1] = "hasan";
array[1, 2] = "12.545";
array[1, 3] = "b";
array[1, 4] = "start";
dataGridView1.DataSource = GetDataTable(array);
من دقیقا نفهمیدم چی می خواین ولی به نظرم اگه یه کلاس بسازید به صورت زیر
از این کلاس متغیر بسازی و در list<parametr> اد کنی بعدا می تونی با یه دستور switch چک کنی که مقدار value برای کدام اطلاعات استکد:public class parametr
{
public string parametr_name ;
public int value;
}
امید وارم درست متوجه شده باشم
موفق باشید
ممنون از لطفتون دوستان
حالا میشه به یک datatable که محتویات داره این مقدار ارایه اضافه کرد
چون الان با دستور add هردفعه سطر جدید می زنه
من می خوام در همان سطرها در ستونهای اضافه شده مقدارشونم اضافه کنه
ایا میشه؟