PDA

View Full Version : سوال: پرکردن لیست و قرار دادن آن به عنوان دیتا سورس



sinayas
جمعه 26 اردیبهشت 1393, 14:40 عصر
سلام به همه دوستان
من با کد زیر یه لیست چند تایی درست کردم
List<Tuple<double, string,int,Int64>> Bedehkarans = new List<Tuple<double, string, int, Int64>>();

و با کد های زیر لیست رو پر میکنم
for (int i = 0; i <= Search.Count(); i++) {



Bedehkarans.Add(new Tuple<double, string, int, Int64>(MZ.MohasebeBedehi(Convert.ToInt64(Search[i].GharardadID)), Search[i].FullName, Search[i].CID, Search[i].GharardadID));



}
متغیر هایی که در بالا تعریف شدن همگی درست هستن .

وقتی بدون حلقه for این لیت پر میشه یعنی یک آیتم اضافه میشه لیست درست پر میشه و میشه به عنوان دیتا سورس یک گرید ویو قرارش بدم . ولی وقتی با حلقه پر میشه در گرید ویو هیچ چیزی نشون داده نمیشه .
ممنون میشم که من رو راهنمایی کنید که این مشکل از کجاست .

ممنون از همه

khokhan
جمعه 26 اردیبهشت 1393, 15:33 عصر
سلام به همه دوستان
من با کد زیر یه لیست چند تایی درست کردم
List<Tuple<double, string,int,Int64>> Bedehkarans = new List<Tuple<double, string, int, Int64>>();

و با کد های زیر لیست رو پر میکنم
for (int i = 0; i <= Search.Count(); i++) {



Bedehkarans.Add(new Tuple<double, string, int, Int64>(MZ.MohasebeBedehi(Convert.ToInt64(Search[i].GharardadID)), Search[i].FullName, Search[i].CID, Search[i].GharardadID));



}
متغیر هایی که در بالا تعریف شدن همگی درست هستن .

وقتی بدون حلقه for این لیت پر میشه یعنی یک آیتم اضافه میشه لیست درست پر میشه و میشه به عنوان دیتا سورس یک گرید ویو قرارش بدم . ولی وقتی با حلقه پر میشه در گرید ویو هیچ چیزی نشون داده نمیشه .
ممنون میشم که من رو راهنمایی کنید که این مشکل از کجاست .

ممنون از همه

.................................................. ..............................:متفکر:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace dgv_from_list
{
public partial class Form1 : Form
{
List<Tuple<double, string, int, Int64>> Bedehkarans = new List<Tuple<double, string, int, Int64>>();
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

for (int i = 0; i < 20; i++)
{
Bedehkarans.Add(new Tuple<double, string, int, Int64>(i, "cat",2+i,5522+i));
}
}

private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = Bedehkarans.ToList();
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
}
}

sinayas
جمعه 26 اردیبهشت 1393, 16:14 عصر
ممنون از پاسخگویی شما .
ولی همچنان مشکل برقراره . برای یک مورد مشکلی نداره . ولی وقتی میخوام همه لیست پر بشه هیچ چیزی رودر گرید ویو نشون نمیده .
نمیدونم شاید مشکل از جای دیگه باشه .
ولی خیلی داره اذیت میکنه.

sinayas
جمعه 26 اردیبهشت 1393, 16:28 عصر
الان یک نکته جالب رو فهمیدم
وقتی تعدا اجرای حلقه تا 55 باشه بدون مشکل تمام رکورد ها رو نمایش میده . ولی وقتی از 55 بیشتر میشه هیچ چیزی نشون داده نمیشه .

کسی میدونه چرا اینجوری میشه ؟!!!

khokhan
جمعه 26 اردیبهشت 1393, 16:57 عصر
احتمالا در ردیف 56 عددی وجود داره که با یکی از انواع تعریف شده در لیست همخوانی نداره:لبخند: وباز ممکنه try/cathخالی گذاشتی تا خطا ها رو نادیده بگیره