ورود

View Full Version : مبتدی: اضافه نشدن سطر به datagird



Shahab_H
دوشنبه 12 مهر 1389, 14:52 عصر
مثلا


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Accounting
{
class Factor_Item
{
private string name;
private string type;

public Factor_Item (string Name,string Type)
{
name=Name;
type=Type;
}
}
}
و


private void Window_Loaded(object sender, RoutedEventArgs e)
{
List<Factor_Item> t = new List<Factor_Item>();
t.Add(new Factor_Item("shahab", "helmi"));
dataGrid_Factor.ItemsSource = t;

}این تصویری که نشون میده تو لیست آیتم وجود داره:

http://img64.imageshack.us/img64/4695/codek.jpg

و اینم datagrid که اون بخش سیاه یه سطر خالی اضافه شده ست!
http://img840.imageshack.us/img840/1667/datagrid.jpg

کدهای مختلفی مثل datagrid.items.add() و اضافه کردن دستی ستون و ... رو انجام دادم نتیجه همینه!

ولی وقتی از جدول دیتا بیس و نتیجه ی Stored proc استفاده می کنم مشکلی نیست!
مثلا


Accounting_DBDataContext db = new Accounting_DBDataContext();
dataGrid_Factor.DataContext = db.Persons;
کاملا درست کار می کنه

Shahab_H
دوشنبه 12 مهر 1389, 15:31 عصر
یه مشکل دیگه هم که متوجه شدم

برای همون table ها هم که درست می کنه وقتی تو خود برنامه یه همچین چیزی نوشتم

ISingleResult<Full_User_ShowResult> temp = dbuser.Full_User_Show();
dataGrid1.Items.Clear();
dataGrid1.ItemsSource = temp;
بدون مشکل کار کرد و داده هارو نشون داد.

بعد یه textbox گذاشتم و نوشتم


private void nameTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
ISingleResult<Full_User_ShowResult> temp = dbuser.Full_User_Show();
dataGrid1.ItemsSource = from d in temp
where d.نام.Contains(textbox1.text)
select d.شماره_کابری;
}

باز هم همون مشکل قبلی پیش میاد یعنی سطرهای خالی با ارتفاع خیلی کم نشون داده میشن ولی تعدادشون با تعداد جواب برابره!

علتش چیه؟

Davood_amega
دوشنبه 12 مهر 1389, 15:58 عصر
به این لینک (http://barnamenevis.org/forum/showthread.php?t=238214) مراجعه کن . این کدو اضافه کن .

DataGrid1.AutoGenerateColumns = True

Shahab_H
دوشنبه 12 مهر 1389, 17:36 عصر
به صورت دستی این گزینرو فعال کرده بودم و کدش رو هم اضافه کردم ولی بازم همون مشکل هست!
اینم کد:

private void nameTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
ISingleResult<Full_User_ShowResult> temp = dbuser.Full_User_Show();
dataGrid1.AutoGenerateColumns = true;
dataGrid1.ItemsSource = from d in temp
where d.نام.Contains(textBox1.Text)
select d.شماره_کابری;
}