2014-01-13 89 views
0

我使用的GridView,以顯示我的個人資料如何將標籤綁定在GridView控件在asp.net

<asp:GridView ID="gvDetails" runat="server"> 
       <HeaderTemplate> 
        <asp:Label ID="Details" runat="server" Text="Remarks"></asp:Label> 
        </HeaderTemplate> 
       <ItemTemplate> 

       <asp:Label ID="remarks" runat="server"></asp:Label> 
       </ItemTemplate> 
</asp:GridView> 
從後端C#我是從數據庫中獲取

現在和顯示

var regiondata = (from rm in db.RegionMasters select new { rm.regionName,rm.remarks,rm.regionId }).ToList(); 
      if (regiondata.Count > 0) 
      { 
      foreach (var region in regiondata) 
      {      
       string z = region.remarks.ToString().Substring(0, 5);  
       ((Label)gvDetails.FindControl("remarks")).Text = z.ToString();  
       gvDetails.DataSource = region; 
       gvDetails.DataBind(); 

      } 

      } 

所以顯示在我使用的gridview裏面的標籤中((Label)gvDetails.FindControl(「remarks」))。Text = z.ToString();但它一直顯示我「對象引用不設置到對象的實例」

+0

你在哪裏綁定了你的'label'?在'OnItemDataBound'或什麼的? – zey

+0

我使用的TemplateField – user2380844

+0

不,不,我的意思是你在哪裏上面寫C#代碼,我認爲你應該檢查你的檢索列表數據使用斷點。他們是否正確? – zey

回答

0

搜尋喜歡這樣這個

 protected void grdQuestionSet_ItemDataBound(object sender, GridItemEventArgs e) 
     { 
      if (e.Item.ItemType.Equals(GridItemType.Item)) 
      //can also check if (e.Item is GridDataItem) 
      { 
      Label yourlabel= (e.Item.FindControl("labelId") as Label); 
      //bind your label to data here 
      } 
     } 
0
<asp:GridView ID="gvDetails" runat="server"> 
    <HeaderTemplate> 
     <asp:Label ID="Details" runat="server" Text="Remarks"></asp:Label> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <asp:Label ID="remarks" runat="server" Text='<%# Eval("remarks")'></asp:Label> 
    </ItemTemplate> 
</asp:GridView> 

var regiondata = (from rm in db.RegionMasters select new {  rm.regionName,rm.remarks,rm.regionId }).ToList(); 
     if (regiondata.Count > 0) 
     { 
      gvDetails.DataSource = regiondata; 
      gvDetails.DataBind(); 
     } 
1

綁定的網格。

<asp:GridView ID="gvDetails" runat="server"> 
    <HeaderTemplate> 
     <asp:Label ID="Details" runat="server" Text="Remarks"></asp:Label> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <asp:Label ID="remarks" runat="server" Text='<%# Eval("remarks").ToString().Substring(0,5) %>' ></asp:Label> 
    </ItemTemplate> 
</asp:GridView> 

和C#代碼。

var regiondata = (from rm in db.RegionMasters select new { rm.regionName,rm.remarks,rm.regionId }).ToList(); 
if (regiondata.Count > 0) 
{    
    gvDetails.DataSource = regiondata; 
    gvDetails.DataBind(); 
}