簡體   English   中英

獲取ASP.net C#中Gridview中的列的值/文本以顯示在標簽中

[英]Get the value/text of a column in a Gridview in ASP.net C# to display in a label

我有一個gridview ,其中有一個推銷員姓名列表。 當使用GridButtonFieldTemplate選擇推銷員時。 我需要選定的業務員的姓名出現在Label

到目前為止,我有這個,但是它不起作用:

protected void gvSalesmanByManager_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue + "'s Customers"; 
} 

它不會引發任何錯誤。 在Visual Studio中甚至沒有紅色的波浪線。 簡直是行不通。

如何在ASP.net和C#4.0中完成此操作。

關於文檔, SelectedValue獲取GridView控件中所選行的數據鍵值。 您的GridView是否包含帶有鍵的列,並且您是否設置了dataKeyNamesProperty(例如datakeynames =“ myID”)?

編輯:要訪問列的值,可以使用SelectedRow:

GridViewRow row = GridView1.SelectedRow;
lblSalesmanCustomers.Text = row.Cells[2].Text;

EDIT2:當您要閱讀模板字段時,有兩個選項。 您可以將值存儲在其他不可見列中,也可以訪問模板字段中的控件。 這樣的事情應該起作用:

lblSalesmanCustomers.Text = ((TextBox)row.Cells[2].FindContol("tbxName")).Text;

確保您沒有在頁面加載事件中分配空文本。 或者您需要將這些初始化放置在if(!Page.IsPostback)塊中

到目前為止,我的代碼是:protected void gvSalesmanByManager_SelectedIndexChanged(object sender,EventArgs e){lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue +“'s Customers”; } –

請嘗試在事件“ gvSalesmanByManager_SelectedIndexChanged”中輸入以下代碼:

lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedRow.Cells [0] .Text;

您說過有關“ ButtonFieldTemplate”的內容,請向我展示您的ascx文件中的一些代碼,這對我有很大幫助。

*編輯:“ Controls [1]”不一定正確。 但是0是一個文字。 您還可以調試代碼並設置斷點。 會容易得多。 嘗試使用Linkbutton:LinkBut​​ton lnk1 = gvSalesmanByManager.SelectedRow.Cells [0] .Controls [1]作為LinkBut​​ton; lblSalesmanCustomers.Text = lnk1.Text;

最好的問候,沒人

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM