在DataTable中另外增加一个Column,然后将DataGrid中的列和这个新增的Column帮定。
DataColumn dc=new DataColumn("newDC")
dc.DataType=type.of(string);
myDataTable.Columns.add(dc);
foreach(DataRow dr in myDataTable.Rows)
{
if(dr["sign"].toString().Trim()=="1"
dr["dc"]="已执行";
else
dr["dc"]="未执行";}
DataColumn dc=new DataColumn("newDC")
dc.DataType=type.of(string);
myDataTable.Columns.add(dc);
foreach(DataRow dr in myDataTable.Rows)
{
if(dr["sign"].toString().Trim()=="1"
dr["dc"]="已执行";
else
dr["dc"]="未执行";}
解决方案 »
- C#怎么生成 第三方 控件
- TCP异步通讯服务端为啥会死掉?
- 请问两个DataSet( ds1,ds2,结构一致! )如何得出ds2里有,但ds1里没有的数据。
- SelectedIndexChanged事件中 取出的SelectedIndex始终为-1,为什么?
- 数据库问题!
- 如何把公司的公用组件dll制作成安装文件,安装过程中自动注册到机器中?
- 在.net中如何处理com+事务?
- 请问rss阅读器一般是怎么实现的?
- 在windows中怎么来定义datagrid的显示格式??
- .Net中这个提示是什么意思?
- UCS2编码怎么转换成gb2312编码??(急)
- 唉,又要麻烦大家,以下这段VB.NET代码如何转为C#代码。
具体该怎么做啊
如fn_ToChese(sign),函数参数为字段sign的值,这个函数的返回值为字符串。
函数代码中判断sign=1是否为真,为真返回“已执行”,或則返回为“未执行”在DataGrid1绑定的数据源代码中的SQL语句为
select dbo.fn_ToChese(sign) as sign, ......
public class CRTextBoxColumn:DataGridTextBoxColumn
{
protected override object GetColumnValueAtRow(CurrencyManager cm, int RowNum)
{
object oVal=base.GetColumnValueAtRow(cm,RowNum);
int nVal=(int)oVal;
if(nVal==0)
return "未执行";
else
return "已执行";
}
}使用的时候这样:
DataGridTableStyle ts =new DataGridTableStyle();
DataGridColumnStyle cs;//Add the custom column style.
cs = New CRTextBoxColumn();
cs.Width = 120;
cs.MappingName = 字段名称;
cs.HeaderText = 显示名称;
ts.GridColumnStyles.Add(cs);ts.MappingName = 表名; // Map table style to TestTable.
DataGrid1.TableStyles.Add(ts)
DataGrid1.DataSource = ds;
然后在绑定这个table。。
固然在SQl中直接用case构造可以实现
但这样的结果就是在更新数据源的对这一属性更新困难!
我采用增加新列,就无需考虑更新问题