2011-09-22 25 views
1
在GridView的文本框的数据,和/或DropDownListBoxs

我的客户给了一个要求,象下面这样:如何显示在asp.net

他想插入,更新,删除只在GridView里面记录。他希望所有数据都出现在TextBoxes和DropDownList控件中(即不在标签控件中)。如果他想更新任何记录,那么他想立即更新那里的记录并点击更新按钮。他不想单击编辑链接以在编辑模式下获取记录。

如何实现此功能?在设计GridView时,我还应该考虑引用列。即一些模板也将包含DropDownList项目。

任何人都可以请建议我如何做到这一点。一些建议或一些学习的链接是可欣赏的。

请帮我解决这个问题。

+0

你可以将一些现金投入到第三方丰富的控制库中,并且不用花很多时间来让它工作(我的意思是非常好的解决方案) – sll

回答

1

GvYou可以在科目编号字段添加到网格视图模板中的字段

 <asp:TemplateField HeaderText="fieldname" > 
     <ItemTemplate> 
      <asp:TextBox ID="txbType" Text='<%# Eval("field") %>' runat="server"></asp:TextBox> 
     </ItemTemplate> 
    </asp:TemplateField> 

,然后在后端代码

protected void Gv_RowUpdating(object sender, GridViewUpdateEventArgs e) 
     { 
      int index = Convert.ToInt32(e.RowIndex.ToString()); 
      GridViewRow row = GV.Rows[index]; 
      var txbName = row.FindControl("txbType") as TextBox;    
      string name = ""; 
      if (txbName != null) 
      { 
       name = txbName.Text.Trim(); 
      } 
      if (true) 
       // your update function   
     } 

同为删除

protected void Gv_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
    } 
+0

非常感谢您的回复kasun。我也有Grid内的DropDownList控件。正如你所建议的,我将它们添加到中,但是如何在页面/网格加载时将数据拖入DropDownList控件? –

+0

使用GvRowDataBound(对象发件人,GridViewRowEventArgs e)事件,并在里面,你可以添加数据到每个下拉列表例如。 var ddl =(DropDownList)e.Row.FindControl(“dropdonlistid”); (ddl!= null) { }如果这个工作正常,请接受答案 –

+0

嗨kasun,我只是这样做的,但我没有得到DropDownList控件的结果。我怎样才能向你展示代码? –

1

看看这个链接:http://geekswithblogs.net/dotNETvinz/archive/2009/08/09/adding-dynamic-rows-in-asp.net-gridview-control-with-textboxes-and.aspx。 在这个例子中,作者只使用文本框,但DropDownList可以以类似的方式使用,从链接你至少会得到有关在GridView单元格内使用控件然后检索它们包含的数据的想法。

+0

此设计(GridView中的插入,更新,删除记录)是否降级了性能? –

+0

不,不会...... – Waqas