数据
业务单位 业务名称 业务金额 缴费状态(0:已缴 1:未缴 2:作废)
单位1 业务1 200 0
单位2 业务1 200 1
单位2 业务1 200 1
单位2 业务1 200 2我想用datagridview在显示数据的时候把缴费状态改为已缴,未缴,作废应该怎么操作?
业务单位 业务名称 业务金额 缴费状态(0:已缴 1:未缴 2:作废)
单位1 业务1 200 0
单位2 业务1 200 1
单位2 业务1 200 1
单位2 业务1 200 2我想用datagridview在显示数据的时候把缴费状态改为已缴,未缴,作废应该怎么操作?
或者直接在sql中处理
当然,这样得就处理可否编辑的问题。
那可以自定义一个列,输入数字类型显示文字。
如果是DataTable,试试这样行不行for(int i=0;i<dt.rows.count;i++)
{
//假设第四列是缴费状态
switch(dt.rows[i][3].ToString())
{
case"0":
dt.rows[i][3] = "已缴";
break;
case"1";
dt.rows[i][3] = "未缴";
break;
default:
break;
}
}
大家有好的方法尽管提 gridRecord.DataSource = dt;
if (dt != null)
{
gridRecord.Columns.Remove("缴费状态");
gridRecord.Columns.Remove("状态");
gridRecord.Columns.Add("paystatus", "缴费状态");
gridRecord.Columns.Add("status", "有效状态"); gridRecord.Columns["paystatus"].DisplayIndex = 7;
gridRecord.Columns["status"].DisplayIndex = 8;
int i = 0;
foreach (DataRow dr in dt.Rows)
{
if (dr["缴费状态"].Equals(0))
{
gridRecord["paystatus", i].Value = "未缴";
}
else
{
gridRecord["paystatus", i].Value = "已缴";
}
if (dr["状态"].ToString() == "0")
{
gridRecord["status", i].Value = "有效";
}
else if (dr["状态"].ToString() == "1")
{
gridRecord["status", i].Value = "预作废";
}
else if (dr["状态"].ToString() == "2")
{
gridRecord["status", i].Value = "作废";
}
i++;
}
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/E_System_Windows_Forms_DataGridView_CellFormatting.htm在DataGridView.CellFormatting 事件 中对数据进行处理
for(int i=0;i<dt.rows.count;i++)
{
//假设第四列是新增的列
case"0":
dt.rows[i][4] = "已缴";
break;
case"1";
dt.rows[i][4] = "未缴";
break;
default:
break;
}
SqlDataAdapter da = new SqlDataAdapter("select yewudanwei,yewumingchen,yewujine,zhuangtai=case when zhuangtai=0 then '已缴' when zhuangtai=1 then '未缴' else '作废' end from table_1", con);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "table_1");
con.Close();
dataGridView1.DataSource=ds.Tables[0];
select yewudanwei as '业务单位',yewumingchen as '业务名称',yewujine as '业务金额',缴费状态=case when zhuangtai=0 then '已缴' when zhuangtai=1 then '未缴'else '作废'end from table_1
也可以
select yewudanwei as '业务单位',yewumingchen as '业务名称',yewujine as '业务金额',zhuangtai as '缴费状态',缴费状态=case when zhuangtai=0 then '已缴' when zhuangtai=1 then '未缴'else '作废'end from table_1
你的数据是只读显示吧?直接改datatable中的数据。然后绑定,gridRecord.DataSource = dt;