没有分了,请问dataGrid 中的一列的数据长度超过了,我想让它自动换行显示完整,而不是加大列宽,有办法吗? 没有分了,请问dataGrid 中的一列的数据长度超过了,我想让它自动换行显示完整,而不是加大列宽,有办法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢上面二位.可我是在winform下,设定列宽不行呀 1、设置列宽2、设置为自动换行3、设置DataGrid自身的宽度4、所有列宽加起来要等于DataGrid的宽度四个条件都满足后,可以实现楼主的要求 如果是用datagrid显示数据 在他的属性里面有一个TableStyles添加一个,然后在这个TableStyle里有一个GridColumnStyels,添加每一列,设置好每一列和数据库表格的对应关系,同时设置每一个表格表格的属性. 在HTML里,在列的性性里加上 nowrap=true就是自动换行了 Thanks to jingtao_zhou(小熊) dataGridTableStyle.GridColumnStyles.Add(dataGridTextBoxColumn); dataGridTextBoxColumn=new DataGridTextBoxColumn(); dataGridTextBoxColumn.MappingName="JiChuSheShi"; dataGridTextBoxColumn.HeaderText="基础设施";dataGridTextBoxColumn.TextBox.Multiline=true;//没用,怎么设置呀 较多信息的字段 在 DATAGRID 显示,有三种解决方案,根据大家的界面需求,大家可以选择如下方式:1. 数据 不换行 完整数据在单元格内 一行 输出 解决方法: <itemstyle wrap="False"></itemstyle> 功能缺陷: 数据 过长时 将会 破坏 页面布局,界面横向扩增 另操作者 浏览数据 不方便2. 数据 自动换行 在单元格内 完整显示 解决方法: DataGrid_ItemDataBound 事件 中 控制 如: //对于没有数字的内容,下面这行完全满足要求,但加了数字就不行,必须调用OnItemDataBound //ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal"); //下面这行是让你的 DataGrid 所有单元 自动换行 //this.dgPublicDataGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word;"); //下面这行是 指定的数据列 自动换行 //e.Item.Cells[3].Attributes.Add("style","word-break:break-all;word-wrap:break-word"); 功能缺陷:同样会破毁 页面布局 界面纵向扩增 另操作者 浏览数据 不方便3. 数据 存放在 TextBox 中 隐藏显示 解决方法: 在 DATAGRID 中 增加 模版列 放入 TextBox ,在数据 邦定时 控制 TextBox 的CssClass .ASPX 文件:<asp:templatecolumn headertext="MovementDescription"><headerstyle width="20%"></headerstyle><itemstyle wrap="False"></itemstyle><itemtemplate> <asp:textbox id="txtACTI_DESC" runat="server" width="100%"></asp:textbox></itemtemplate></asp:templatecolumn> .CS 文件:private void dgPublicDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView drv = (DataRowView)e.Item.DataItem; TextBox txtTemp = (TextBox)e.Item.Cells[3].FindControl("txtACTI_DESC"); txtTemp.Text = drv["ACTI_DESC"].ToString(); txtTemp.ToolTip = txtTemp.Text; txtTemp.CssClass = "input_a_table_db1"; //判断 当前 列表内的 数据 奇偶数 和 数据当前 行的 奇偶数 if (System.Data.SqlTypes.SqlInt32.Mod(Int32.Parse(ViewState["intRowCount"].ToString()),2) == 0) { if (System.Data.SqlTypes.SqlInt32.Mod(e.Item.ItemIndex,2) != 0 ) txtTemp.CssClass = "input_a_table_db2"; } else{ if (System.Data.SqlTypes.SqlInt32.Mod(e.Item.ItemIndex,2) == 0 ) txtTemp.CssClass = "input_a_table_db2"; } } } 功能缺陷:数据显示 不完整 ,需要用户 拖拽 文本框 内部的数据,或者 用鼠标 触发 ToolTip 内容 谢谢上面的,可是我是在Winform 下开发的c/s的程序,不是aspx 呀 比较复杂的一个长SQL,求解 【高分急求】如何让一个窗体(.aspx)的值传到另一窗体(.aspx)? c#如何实现MSI安装包嵌套调用 winfrom中使用treeview,怎么实现点击每个子节点时,panel显示对应的窗体 我要实现ListView的排序功能,请问,那两个三角形图标,怎么取得? 求翻译代码 一个很简单的问题,100分相送,马上揭贴 c#中MAS的API接口问题,在线等,非常急! 我找不到方向了,有谁肯帮我呢? 请问高手如何实时监测CPU是忙还是闲,我要根据这个东西调整自己的代码执行。 C# 简单问题 大家来看看我做的页面,所有提意见的都有分拿!!!散分
2、设置为自动换行
3、设置DataGrid自身的宽度
4、所有列宽加起来要等于DataGrid的宽度四个条件都满足后,可以实现楼主的要求
在他的属性里面有一个TableStyles
添加一个,然后在这个TableStyle里
有一个GridColumnStyels,添加每一列,设置好
每一列和数据库表格的对应关系,同时设置每一个
表格表格的属性.
nowrap=true就是自动换行了
dataGridTableStyle.GridColumnStyles.Add(dataGridTextBoxColumn);
dataGridTextBoxColumn=new DataGridTextBoxColumn();
dataGridTextBoxColumn.MappingName="JiChuSheShi";
dataGridTextBoxColumn.HeaderText="基础设施";
dataGridTextBoxColumn.TextBox.Multiline=true;//没用,怎么设置呀
//ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal"); //下面这行是让你的 DataGrid 所有单元 自动换行
//this.dgPublicDataGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word;");
//下面这行是 指定的数据列 自动换行
//e.Item.Cells[3].Attributes.Add("style","word-break:break-all;word-wrap:break-word"); 功能缺陷:同样会破毁 页面布局 界面纵向扩增 另操作者 浏览数据 不方便3. 数据 存放在 TextBox 中 隐藏显示 解决方法: 在 DATAGRID 中 增加 模版列 放入 TextBox ,在数据 邦定时 控制 TextBox 的CssClass .ASPX 文件:<asp:templatecolumn headertext="MovementDescription">
<headerstyle width="20%"></headerstyle>
<itemstyle wrap="False"></itemstyle>
<itemtemplate>
<asp:textbox id="txtACTI_DESC" runat="server" width="100%"></asp:textbox>
</itemtemplate>
</asp:templatecolumn> .CS 文件:private void dgPublicDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
TextBox txtTemp = (TextBox)e.Item.Cells[3].FindControl("txtACTI_DESC");
txtTemp.Text = drv["ACTI_DESC"].ToString();
txtTemp.ToolTip = txtTemp.Text;
txtTemp.CssClass = "input_a_table_db1";
//判断 当前 列表内的 数据 奇偶数 和 数据当前 行的 奇偶数
if (System.Data.SqlTypes.SqlInt32.Mod(Int32.Parse(ViewState["intRowCount"].ToString()),2) == 0)
{
if (System.Data.SqlTypes.SqlInt32.Mod(e.Item.ItemIndex,2) != 0 )
txtTemp.CssClass = "input_a_table_db2";
}
else{
if (System.Data.SqlTypes.SqlInt32.Mod(e.Item.ItemIndex,2) == 0 )
txtTemp.CssClass = "input_a_table_db2";
}
}
} 功能缺陷:数据显示 不完整 ,需要用户 拖拽 文本框 内部的数据,或者 用鼠标 触发 ToolTip 内容
可是我是在Winform 下开发的c/s的程序,不是aspx 呀