我是DataGridView的新手,我試圖使用List作爲DataSource。使用列表<Item>作爲GridView中的數據源
用我目前的代碼,我的網格向我展示了3行內含空數據。有人能告訴我這有什麼不對嗎?
這裏我的代碼:
項目
class Item
{
public int id;
public string name;
public string imagePath;
public int type;
public int hp;
public int mp;
public int str;
public int dex;
public int vit;
public int agi;
public int iInt;
public int mnd;
public int att;
public int acc;
public int def;
public int eva;
public int matt;
public int macc;
public string text;
public Item()
{
}
public Item(int Id, string Name, string ImagePath, int STR, int DEX, int VIT, int AGI, int INT, int MND,
int ATT, int ACC, int DEF, int EVA, int MATT, int MACC, int HP, int MP, int Type, string Text)
{
id = Id;
name = Name;
imagePath = ImagePath;
type = Type;
str = STR;
dex = DEX;
vit = VIT;
agi = AGI;
iInt = INT;
mnd = MND;
att = ATT;
acc = ACC;
def = DEF;
eva = EVA;
matt = MATT;
macc = MACC;
text = Text;
}
這裏我的表單代碼:
datagridItems.Rows.Clear();
List<Item> items = new List<Item>();
Connection connection = new Connection();
string requeteItems = "SELECT * FROM Items";
connection.Open();
SqlDataReader myReader = connection.Read(requeteItems);
while (myReader.Read())
{
Item item = new Item();
item.id = int.Parse(myReader["Id"].ToString());
item.name = myReader["Name"].ToString();
item.imagePath = myReader["Image"].ToString();
item.hp = int.Parse(myReader["HP"].ToString());
item.mp = int.Parse(myReader["MP"].ToString());
item.str = int.Parse(myReader["STR"].ToString());
item.dex = int.Parse(myReader["DEX"].ToString());
item.vit = int.Parse(myReader["VIT"].ToString());
item.agi = int.Parse(myReader["AGI"].ToString());
item.iInt = int.Parse(myReader["INT"].ToString());
item.mnd = int.Parse(myReader["MND"].ToString());
item.att = int.Parse(myReader["ATT"].ToString());
item.acc = int.Parse(myReader["ACC"].ToString());
item.def = int.Parse(myReader["DEF"].ToString());
item.eva = int.Parse(myReader["EVAS"].ToString());
item.matt = int.Parse(myReader["MATT"].ToString());
item.macc = int.Parse(myReader["MACC"].ToString());
item.text = myReader["Text"].ToString();
item.type = 0;
items.Add(item);
}
connection.Close();
bsItems.DataSource = items;
}
連接返回DATAS沒有問題。我想知道爲什麼我的線路有空白數據。
把你'Item'類字段通過更換'性能;'和'{獲得;組; }' –
try bsItems.DataBind() –