2012-09-01 20 views
0

我有GridViewListBox中的項目列表。不包括GridView中的第一列。如何使用列表框中的項目列表工具提示GridView的標題

我想提示每個標題與ListBox中的相應項目。我的意思是GridView2.Columns[i].HeaderText = ListBox.Items[i].Tostring()的工具提示。

這是我曾嘗試:

protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      for (int i = 1; i < GridView2.Columns.Count; i++) 
      { 
       String header = GridView2.Columns[i].HeaderText; 

       if (header.Length != 0) 
       { 
        e.Row.Cells[i].ToolTip = ListBox4.Items[i].ToString().Trim(); 
       } 
      } 
     } 
    } 

這是給我的異常錯誤:索引超出範圍。必須是非負數且小於集合的大小。

請幫忙。謝謝。

+0

你肯定列表框填充在這一點? – podiluska

+1

列表框中的項目數與GridView中的列數相同嗎?如果不是,則不能對列和項目使用相同的索引 – Steve

+0

確保您在兩個控件中都具有相同數量的項目,或嘗試迭代lisbox中的項目而不是遍歷gridview。 –

回答

0
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.Header) 
    { 
     for (int i = 1; i < GridView2.Columns.Count; i++) 
     { 
      String header = GridView2.Columns[i].HeaderText; 

      if (header.Length != 0) 
      { 
       e.Row.Cells[i+1].ToolTip = ListBox4.Items[i].ToString().Trim(); 
      } 
     } 
    } 
} 

只是想使用細胞[I + 1]的代替細胞[I]

相關問題