2017-09-05 156 views
0

我無法修復當我嘗試將按鈕列添加到我的表時不斷收到的錯誤。錯誤是:參數1:無法從「System.Windows.Forms.DataGridViewButtonColumn」到「System.Web.UI.WebControls.DataControlField」獲取和錯誤嘗試添加按鈕列時無法修復

它基本上是說我不能使用局部變量「BTN轉換'在線

 gridViewStudent.Columns.Add(btn); 
在下面的代碼

 gridViewStudent.DataSource = table; 
     gridViewStudent.DataBind(); 

     DataGridViewButtonColumn btn = new DataGridViewButtonColumn(); 
     gridViewStudent.Columns.Add(btn); 
     btn.HeaderText = "Click Data"; 
     btn.Text = "Click Here"; 
     btn.Name = "btn"; 
     btn.UseColumnTextForButtonValue = true; 
+1

由於錯誤是想告訴你,你想混兩個不同的命名空間。不要這樣做。 – SLaks

+0

是什麼讓你認爲你可以將一個'Windows.Forms'控件添加到ASP.NET窗體? – mjwills

+0

我試圖按照我在網上發現的一些其他代碼試圖添加按鈕列時,他們都似乎遵循相同的結構,所以我不完全確定什麼是不同的。我是否需要發佈更多我的代碼? – Sohee

回答

1

DataGridViewButtonColumn用於與的WinForms使用' DataGridView控制。在Web窗體環境下,你可以使用ButtonField代替:

var btn = new ButtonField(); 
btn.HeaderText = "Click Data"; 
btn.Text = "Click Here"; 

gridViewStudent.Columns.Add(btn); 

由於存在對ButtonField控制沒有NameUseColumnTextForButtonValue性質,只是省略了他們的任務。

或者您可以使用準備asp:ButtonFieldColumns節ASPX頁面:

<asp:GridView runat="server" ID="gridViewStudent" ... /> 
    <Columns> 
     <%-- other fields --%> 
     <asp:ButtonField HeaderText="Click Data" Text="Click Here" /> 
    </Columns> 
</asp:GridView> 

類似的問題:

Programmatically Add ButtonColumn to GridView From DataTable

+0

我已經做了這個改變,現在構建成功了,但按鈕和列標題仍然沒有顯示出來。這個代碼應該是一個特定的地方嗎?我現在有數據綁定數據表後它有它。 – Sohee

+1

這可能更適合於創建後續問題。在這個新問題上發佈你的固定gridview標記和代碼,並把這個問題的鏈接看到你的努力。 –

相關問題