2013-04-05 46 views
0

考虑下面的代码如何存储ButtonField字段在一个DataRow其中列设置为ButtonField字段

protected void Button1_Click(object sender, EventArgs e) 
    { 
     DataTable dt = new DataTable(); 
     DataColumn dtCol = new DataColumn(); 

     dtCol = new DataColumn("Name", typeof(string)); 
     dt.Columns.Add(dtCol); 

     dtCol = new DataColumn("Address", typeof(string)); 
     dt.Columns.Add(dtCol); 

     dtCol = new DataColumn("Account No", typeof(ButtonField)); 
     dt.Columns.Add(dtCol); 

     ButtonField bfname = new ButtonField { 
      HeaderText = "Account No", 
      DataTextField="Account No", 
      Text = "Klik", 
      ButtonType = ButtonType.Link, 
      CommandName = "ExecuteMe" }; 

     string[] strDataRow = new string[3]; 


     for (int intX = 0; intX < 10; intX++) 
     { 
      strDataRow[0] = "Name" + Convert.ToString(intX); 
      strDataRow[1] = "Address" + Convert.ToString(intX); 
      strDataRow[2] = bfname.Text; //Error Type of value has a mismatch with column typeCouldn't store <Account No0> in Account No Column. Expected type is ButtonField. 
      ButtonField btnField = bfname; // No Error but not appear in GridView1 

      dt.Rows.Add(new object[] {strDataRow[0], strDataRow[1], strDataRow[2]}); 
      //dt.Rows.Add(new object[] { strDataRow[0], strDataRow[1], btnField }); // No Error but not appear in GridView1 

      /* Error Message on strDataRow[2] 
      Type of value has a mismatch with column typeCouldn't store <Account No0> in Account No Column. Expected type is ButtonField. 
      */ 

     } 

     GridView1.DataSource = dt; 
     GridView1.DataBind(); 

    } 

如何存放ButtonField字段在列设置为ButtonField字段一个DataRow。在ButtonField.Text如何出现在每个DataRow中

而且

是否有可能字符串值存储在一个DataRow这是列设置为ButtonField字段。当字符串被点击时,ButtonField.CommandName将被执行。

注意*:ASPX页面中的GirdView代码如下。

<asp:GridView ID="GridView1" runat="server"> 
    </asp:GridView> 

在此先感谢...

+1

欢迎来到StackOverflow!如果你可以缩小代码范围,只询问一个问题,你可能更有可能得到有用的答案。 – ASGM 2013-04-05 17:16:33

回答

0

林不知道你的问题,但不是把按钮,在数据表,为什么不创建一个GridView和添加包含一个TemplateField我suposed是不可能的按钮。

+0

嗯,我有同样的意见,因为DataTable仍然接受ButtonField的类型,我相信必须有一种方法来做到这一点。否则,.NET Framework必须纠正这一点,以便我们知道ButtonField的类型无法像上面的代码中那样直接接受它。 – cahmad 2013-04-05 18:42:14

相关问题