[菜鸟问题]WinForm里,如何在DataGrid中把某个字段0和1的值显示为“是”和“否”
我知道可以在查询的时候用SELECT语句来解决,我想求教一下如何直接在datagrid里面实现 问题点数:100、回复次数:16Top
1 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-03-15 12:55:25 得分 0
后台代码内 写一个 共有方法 判断
在 <%调用 %>Top
2 楼wxdl1981(沉默之狼)回复于 2006-03-15 13:00:18 得分 0
将列设成dataGridBoolColumn
然后将这个Column的FalseValue设成0
TrueValue设成1Top
3 楼Anarchy()回复于 2006-03-15 13:05:38 得分 0
to wxdl1981(沉默之狼):
用BoolColumn就变成checkbox列了
我只是要用文字来显示,这个列是记录设备是否可以使用的列,我只需要显示用户看“可用”或者“不可用”Top
4 楼zhzuo(秋枫)回复于 2006-03-15 13:12:06 得分 0
可以看这里,
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx
或者使用关系表达式来实现,
http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
Top
5 楼dolfen(网海之豚(每天进步一点点))回复于 2006-03-15 13:14:18 得分 0
如果你的DataGrid不是 在运行时自动创建列 的话,就用模板列实现。
<asp:TemplateColumn HeaderText="性别模板列">
<ItemTemplate>
<%# Convert.Int32(DataBinder.Eval(Container.DataItem,"field1"))==0 ? "否" : "是" %>
</ItemTemplate>
</asp:TemplateColumn>
Top
6 楼songxiaozhao(雨朋)回复于 2006-03-15 13:17:34 得分 0
楼上正解Top
7 楼Anarchy()回复于 2006-03-15 13:17:43 得分 0
汗。。。都是WebForm的。。。我需要WinForm的。。。Top
8 楼zlz_212(ShREk)回复于 2006-03-15 13:25:11 得分 0
为DataGrid增加事件,在绑定的时候触发,进行判断Top
9 楼lidong6(立冬)回复于 2006-03-15 13:33:16 得分 0
你可以直接修改Datatable里的内容Top
10 楼Anarchy()回复于 2006-03-15 13:38:36 得分 0
楼上能提供一些代码看看么?Top
11 楼wxdl1981(沉默之狼)回复于 2006-03-15 13:39:53 得分 35
可以重写dataGridTextColumn
不过你这种情况,建议你还是用Select语句.Top
12 楼lidong6(立冬)回复于 2006-03-15 13:56:37 得分 30
也就是datagrid的数据源datatable
修改了datatable的值后datagrid的值也是变了.
比如:
if (table.rows[0][1].tostring()=="1")
{
table.rows[0][1]="是" ;
}
Top
13 楼wf5360308(冷月孤峰)回复于 2006-03-15 14:05:12 得分 35
直接修改绑定的数据源数据就可以了:
for( int i =0;i<dt.Rows.Count;i++ )
{
if( dt.Rows[i]["字段名"].ToString() == "1")
dt.Rows[i]["字段名"] = "否";
else
dt.Rows[i]["字段名"] = "是";
}
然后再绑定Top
14 楼Anarchy()回复于 2006-03-15 14:14:25 得分 0
to 楼上:
用你的方法会报错类型不匹配。。。Top
15 楼itmingong(nous+wisdom+courage)回复于 2006-03-15 15:06:57 得分 0
要显示为“可用”或“不可用”肯定要把原来0/1的字段改成stringTop
16 楼hy98521(斯达克)回复于 2006-03-15 17:13:58 得分 0
楼上的方法很多了。 基本都可以啊。 怎么还要呢?Top




