我想從我的嵌套Gridview中使用鏈接按鈕從父Gridview中獲取ID,但我每次都獲得不同的ID我點擊鏈接。例如,如果我點擊了25的鏈接ID,我得到了ID 24的值,或者如果我點擊了ID#18的鏈接,那麼我得到ID#17的值,等等......所以它總是減一。所以如何我可以增加我的行ID,如果我有row.Cells [0]我想顯示row.Cells [0] + 1這樣的事情。我只需要某種解決方案,請幫助。這裏是我的代碼:如何從父Gridview使用C#獲取價值
protected void Edit(object sender, EventArgs e)
{
using (GridViewRow row = (GridViewRow)((LinkButton)sender).Parent.Parent)
{
string myvar = row.Cells[0].Text;
sqlcon.Open();
sqlcmd = new SqlCommand(@"Select ID, Name, Location where ID = '" + myvar + "' ", sqlcon);
da = new SqlDataAdapter(sqlcmd);
da.Fill(dt);
sqlcon.Close();
DV_Edit.DataSource = dt;
DV_Edit.DataBind();
sqlcon.Close();
popup.Show();
}
}
我加入的是用於我的GridView的頭部上方搜索一個行,我相信這就是爲什麼我收到不匹配。以下是添加行的代碼:
protected void OnDataBound(object sender, EventArgs e)
{
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
for (int i = 0; i < GV_EditProject.Columns.Count; i++)
{
TableHeaderCell cell = new TableHeaderCell();
TextBox txtSearch = new TextBox();
txtSearch.Attributes["placeholder"] = GV_EditProject.Columns[i].HeaderText;
txtSearch.CssClass = "search_textbox";
cell.Controls.Add(txtSearch);
row.Controls.Add(cell);
}
GV_EditProject.HeaderRow.Parent.Controls.AddAt(1, row);
}
Jumpei,你的解決方案工作..但只有當我在父Gridview中有多個行,這意味着如果我有2,3或更多行它工作正常,但是當我只有一個行然後它不工作,我得到這個錯誤:「索引超出範圍,必須是非負數,小於集合的大小 參數名稱:索引」請幫助我快到了。謝謝 – moe
檢查上面的行數。我已經更新了答案。 – Jumpei