2014-12-20 77 views
0

我创建一个空的数据行到我的网格视图结合,但是,我一直都想与“指定的强制转换无效”错误消息对我的复选框复选框指定的转换无效

这是我的aspx:

<asp:TemplateField HeaderText="Include In Food Bag" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center"> 
<ItemTemplate> 
    <asp:CheckBox runat="server" ID="ChkBxIncludeInFoodBag" Checked='<%# Bind("IncludeInFoodBag") %>' ></asp:CheckBox> 
</ItemTemplate> 
<FooterTemplate> 
    <asp:CheckBox runat="server" ID="ChkBxIncludeInFoodBag"></asp:CheckBox> 
</FooterTemplate> 
</asp:TemplateField> 

这是我的代码背后:

protected void BindFoodBagItemsGridView() 
    { 
     DataTable FoodBagItems = BLFoodBagItem.GetAllFoodBagItems(); 

     if (FoodBagItems.Rows.Count > 0) 
     { 
      FoodBagItemsGridView.DataSource = BLFoodBagItem.GetAllFoodBagItems(); 
     } 
     else 
     { 
      tempFoodItems = new DataTable(); 
      tempFoodItems.Columns.Add("FoodBagItemId"); 
      tempFoodItems.Columns.Add("ItemName"); 
      tempFoodItems.Columns.Add("ItemQuantity"); 
      tempFoodItems.Columns.Add("IncludeInFoodBag"); 
      DataRow dr = tempFoodItems.NewRow(); 
      dr["IncludeInFoodBag"] = bool.Parse("false"); 
      -- I also tried dr["IncludeInFoodBag"] = false; 
      -- I also tried dr["IncludeInFoodBag"] = 0; 
      tempFoodItems.Rows.Add(dr); 
      FoodBagItemsGridView.DataSource = tempFoodItems; 

     } 

     FoodBagItemsGridView.DataBind(); 
    } 

回答

0

添加您列如下: -

tempFoodItems.Columns.Add("IncludeInFoodBag",typeof(bool)); 

您需要添加列的数据类型,同时将其添加到数据表。