vs2005 请问如何将GRIDVIEW选定行的内容显示在textbox上

 我来答
灿烂的小贝壳
2015-07-19 · TA获得超过1986个赞
知道大有可为答主
回答量:2437
采纳率:100%
帮助的人:4151万
展开全部
在普通使用时,常常使用TextBox控件输入多行文本保存到数据库的Text字段中,然后用GridView来显示Text和其它单行数据的字段。效果如下表格:序号部门报告情况描述日期1生产部本月工作1.按时完成
在用TextBox控件输入多行文本字段(此处是描述字段)在此能够满足要求,但在用GridView显示时,如果直接使用GridView的BoundField来显示,在TextBox所有格式将没有,变成下表显示:序号部门报告情况描述日期1生产部本月工作1.按时完成
这样的显示不美观,如果通过模板字段来处理,效果其基本与输入一样。具体做法是:
1.打开GridView任务面板,进编辑列面板,添加一个TemplateField(模板字段)字段,然后确定退出此面板。
<asp:TemplateField HeaderText="描述"
<ItemTemplate
<asp:Label ID="Label1" runat="server" Text='<%# Ev
al("描述") %' Width="100%"</asp:Label
</ItemTemplate
</asp:TemplateField…….
3.编写GridView的RowDataBound事件。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){if (e.Row.Cells.Count == 5)//为什么是5?这个表是5列(在实际使用时表有几列就设为几),如果使用了GridView自动分页功能,分页也是GridView中的一行,但其只有1列,因此在此不指定5列作为限定条件时,将无法执行。{foreach (Control ctl in e.Row.Cells[3].Controls)//注意:是第3列,从0列开始{if (ctl is Label){string St = ((Label)ctl).Text;
St = "<Pre" + St + "</Pre";//如果是模板列中的Lable控件时,取出其中的数据,并增加<pre标志后再赋值给Label控件的Text
((Label)ctl).Text = St;}}}}通过以上处理后,GridView的Cell就具有显示带有格式的文本功能。当然,对于多行文本的字段可以使用富文本框控件输入数据,如HtmlEdit控件等。但简单地处理问题,够用就好,就不需要复杂化了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式