我用的是.net2003
我希望用datagrid绑定arraylist,然后字段的名称用的是中文名,请问该怎样做?
例如:
MyObj a;
a.name="abc";
my_array_list.add(a);
my_data_grid.datasource=my_array_list;
结果datagrid显示的是: name
_________
abc我希望显示的结果是: 姓名
__________
abc
我希望用datagrid绑定arraylist,然后字段的名称用的是中文名,请问该怎样做?
例如:
MyObj a;
a.name="abc";
my_array_list.add(a);
my_data_grid.datasource=my_array_list;
结果datagrid显示的是: name
_________
abc我希望显示的结果是: 姓名
__________
abc
解决方案 »
- 跪求解决方案
- Visual C#速成版
- 能不能不用实例化访问~~~~基础问题~~~~~~
- 怎样在点击datagridview单元格不出现虚线框
- 请问在winform中如何更换axWebBrowser1中的框架内的main中的页面啊。
- 请教一下,C#程序里面的 "0x7fffffff" 是什么东西,它代表什么?
- dev 的ToolTipController,如何让他自动换行?
- 【求助】关于SharpDevelop的代码折叠问题
- 用DataAdapter和dataSet向数据库中添加记录的问题。大家进来看看。
- 如何拷贝目录
- 巨难的问题,小心进入!!!!!!!!!!!!
- FTP的问题老是没人问津!~~~~~
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Cells[0].Text="姓名";
}
}
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].Text="姓名";
}
}
搞错了,是==
<asp:TemplateColumn HeaderText="test">
<ItemTemplate>
<%#Container.DataItem%>
</ItemTemplate>
</asp:TemplateColumn>
试试下面的方法:先添加1个dataGridTableStyle1把它的MappingName设置为ArrayList (这步重要)然后就添加对应字段的dataGridTextBoxColumn
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].Text="姓名";
}
}
2、如是Winform,则要用dataGridTableStyle了,以下给出代码(没测试,不过思路是对了,楼主可以测一下):my_data_grid.datasource=my_array_list;
my_data_grid.CaptionText = " ";
DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = my_array_list;DataGridTextBoxColumn col;
//增加姓名列
col = new DataGridTextBoxColumn();
col.HeaderText = "姓名";
col.MappingName = "name";
col.ReadOnly = true;
col.Width = 120;
ts.GridColumnStyles.Add(col);
//设置样式
ts.AlternatingBackColor = Color.SkyBlue;
ts.AllowSorting = false;
my_data_grid.TableStyles.Add(ts);