2012-08-01 122 views
-1

如何將Textfield列添加到asp.net C#中的Gridview?如何將文本字段列添加到asp.net C#中的Gridview?

我需要添加一個文本字段列在Gridview的最後,我像這樣動態創建數據表。我需要爲comisson列添加文本字段

DataTable dt = new DataTable(); // create data table 
      dt.Columns.Add("TransDate"); // create column 1 
      dt.Columns.Add("ExHouse");// create column 2   
      dt.Columns.Add("RemName"); 
      dt.Columns.Add("Currency"); 
      dt.Columns.Add("Amount"); 
      dt.Columns.Add("LKRAmount"); 
      //dt.Columns.Add(new DataColumn("Comission", typeof(string))); 
      dt.Columns.Add("Comission"); 
      dt.Columns.Add("ValueDate"); 

      DataRow dr = dt.NewRow(); // Create new Row 
      TextBox comi=new TextBox(); 
      dr["TransDate"] = RemittanceToSelectedTable.TransDate; 
      dr["ExHouse"] = RemittanceToSelectedTable.ExHouse; //add data to coolumn no2 
      dr["RemName"] = RemittanceToSelectedTable.RemName; 
      dr["Currency"] = RemittanceToSelectedTable.Currency; 
      dr["Amount"] = RemittanceToSelectedTable.Amount; 
      dr["LKRAmount"] = RemittanceToSelectedTable.LKRAmount; 

      dr["ValueDate"] = RemittanceToSelectedTable.ValueDate; 
      dr["Comission"] = comi; 

      aa.Add((string)dr["TransDate"]); 
      ab.Add((string)dr["ExHouse"]); 
      ac.Add((string)dr["RemName"]); 
      ad.Add((string)dr["Currency"]); 
      ae.Add((string)dr["Amount"]); 
      af.Add((string)dr["LKRAmount"]); 
      // ah.Add((string)dr["Comission"]); 
      ag.Add((string)dr["ValueDate"]); 


      for (i = 0; i < ag.Count; i++) 
      { 
       dt.Rows.Add(aa[i], ab[i], ac[i], ad[i], ae[i], af[i], ag[i]); // add rows to data table 
      } 

      return dt; 

謝謝!

回答

0

要行添加到DataTable你可以使用。

DataRow dr = dt.NewRow(); // Create new Row 
dr["TransDate"] = RemittanceToSelectedTable.TransDate; 
dr["ExHouse"] = RemittanceToSelectedTable.ExHouse; //add data to coolumn no2 
dr["RemName"] = RemittanceToSelectedTable.RemName; 
dr["Currency"] = RemittanceToSelectedTable.Currency; 
dr["Amount"] = RemittanceToSelectedTable.Amount; 
dr["LKRAmount"] = RemittanceToSelectedTable.LKRAmount; 
dr["ValueDate"] = RemittanceToSelectedTable.ValueDate; 
dr["Comission"] = 0; //default value for commission 
dt.Rows.Add(dr); 

然後顯示該佣金的文本框,你不創建數據文本框。這是控制它將呈現的地方。你的數據將是文本,int,float。

<asp:BoundField HeaderText="Comission" DataField="Comission"></asp:BoundField> 
+0

謝謝爲回覆,它不工作...表正在創建罰款,但我不能添加文本框呢。你能幫我給一些更多的描述。 – 2012-08-01 11:29:20

+0

顯示您的girdview的aspx代碼。我可以進行編輯然後 – nunespascal 2012-08-01 11:37:47

+0

2012-08-01 12:05:07

1

您可以添加模板字段拖放在ItemTemplate文本框中這樣:

<asp:TemplateField> 
<ItemTemplate> 
<asp:TextBox ID="TextBox1" runat="server"Text=""></asp:TextBox> 
</ItemTemplate> 
</asp:TemplateField> 
3

感謝回答......這是最終答案的GridView必須是這樣的

 <Columns> 
      <%--<asp:BoundField HeaderText="Comission" DataField="Comission"></asp:BoundField>--%> 
     <%--<asp:TextBox ID="txtChildren" Text="assan" runat="server" Width="25px"></asp:TextBox>--%> 

      <asp:CommandField ShowDeleteButton="True" /> 
      <asp:BoundField DataField="TransDate" HeaderText="TransDate" /> 
      <asp:BoundField DataField="ExHouse" HeaderText="ExHouse" /> 
      <asp:BoundField DataField="RemName" HeaderText="RemName" /> 
      <asp:BoundField DataField="Currency" HeaderText="Currency" /> 
      <asp:BoundField DataField="Amount" HeaderText="Amount" /> 
      <asp:BoundField DataField="LKRAmount" HeaderText="LKRAmount" /> 

     <asp:TemplateField HeaderText="Comission"> 
     <ItemTemplate> 
     <asp:TextBox ID="txtTest" runat="server"/> 
     </ItemTemplate> 
     </asp:TemplateField> 

     <asp:BoundField HeaderText="ValueDate" DataField="ValueDate"></asp:BoundField> 

     </Columns> 


    </asp:GridView> 

和DataTable應該是這樣的

 DataTable dt = new DataTable(); 

     dt.Columns.Add("TransDate"); // create column 1 
     dt.Columns.Add("ExHouse");// create column 2   
     dt.Columns.Add("RemName"); 
     dt.Columns.Add("Currency"); 
     dt.Columns.Add("Amount"); 
     dt.Columns.Add("LKRAmount"); 
     dt.Columns.Add("Comission");   
     dt.Columns.Add("ValueDate"); 

     DataRow dr = dt.NewRow(); // Create new Row 

     dr["TransDate"] = RemittanceToSelectedTable.TransDate; //add data to coolumn no1 
     dr["ExHouse"] = RemittanceToSelectedTable.ExHouse; //add data to coolumn no2 
     dr["RemName"] = RemittanceToSelectedTable.RemName; 
     dr["Currency"] = RemittanceToSelectedTable.Currency; 
     dr["Amount"] = RemittanceToSelectedTable.Amount; 
     dr["LKRAmount"] = RemittanceToSelectedTable.LKRAmount; 
     dr["Comission"] = 0; 
     dr["ValueDate"] = RemittanceToSelectedTable.ValueDate; 


     aa.Add((string)dr["TransDate"]); 
     ab.Add((string)dr["ExHouse"]); 
     ac.Add((string)dr["RemName"]); 
     ad.Add((string)dr["Currency"]); 
     ae.Add((string)dr["Amount"]); 
     af.Add((string)dr["LKRAmount"]); 
     ah.Add("0"); 
     ag.Add((string)dr["ValueDate"]); // 


     for (i = 0; i < ag.Count; i++) 
     { 
      dt.Rows.Add(aa[i], ab[i], ac[i], ad[i], ae[i], af[i], ah[i], ag[i]); 
     } 



     return dt; 
相關問題