ASP.NET - >将ButtonColumn添加到DataTable或DataGridView(以编程方式)

时间:2013-01-27 18:16:26

标签: c# asp.net

有一个奇怪的问题,弄清楚如何将ButtonColumn添加到DataTable(或者,可以说是DataGrid)。我想要做的就是能够使用数据表中的数据来告诉按钮在onClick上执行某些操作,而我似乎对此失败了。

谷歌搜索没有显示任何立即有用的内容,因为他们都在使用ItemTemplates。

//dt.Columns.Add("Ajax Link", typeof(Literal));
ButtonColumn newButtonColumn = new ButtonColumn();
newButtonColumn.HeaderText = "Asp.Net Link";
dt.Columns.Add(); // Doesn't want newButtonColumn.

for (int i = 0; i < dt.Rows.Count; i++)
{
    /*
    Literal newAjaxLink = new Literal();
    newAjaxLink.Text = "Test";//"<button type=\"button\" onclick=\"AjaxButton_onClick(" + dt.Rows[i]["UserInfoID"].ToString() + "); StoreUserInfoID(" + dt.Rows[i]["UserInfoID"].ToString() + "); ShowDiv();\">Ajax Link</button>";
    dt.Rows[i]["Ajax Link"] = newAjaxLink; // @todo: HTML button that triggers an AJAX call for load the proper data into the fields. Also to make the DIV visible.
    */

    Button newButton = new Button();
    newButton.ID = dt.Rows[i]["UserInfoID"].ToString(); 
    newButton.Text = "Asp.Net Link";
    newButton.Click += new EventHandler(Button_Link_Click);
    dt.Rows[i]["Asp.Net Link"] = newButton; //@todo: Just a button to open a new window with the proper ID.
}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你在哪里添加按钮? ...似乎只是给按钮赋值,但不添加。

答案 1 :(得分:0)

试试这个

DataTable dt = new DataTable("Table"); 
DataColumn col = dt.Columns.Add("ID", typeof(Int32));
col.AllowDBNull = true;