C# 根据数字更改数据网格中单元格的值
我试图将网格中的数字转换为文本。根据单元格中的值,我将获得另一个文本。 如果C# 根据数字更改数据网格中单元格的值,c#,winforms,datagridview,C#,Winforms,Datagridview,我试图将网格中的数字转换为文本。根据单元格中的值,我将获得另一个文本。 如果值=0则应显示“inkomst”,如果值=1则应显示“uitGiven” 我已经有了显示正确行和设置宽度的代码 private void updateAll() { dataGridViewInkomsten.DataSource = blFinancien.getFinancienByInkomsten(); //kolommen niet tonen waarin enkel id's worden
值=0
则应显示“inkomst”
,如果值=1
则应显示“uitGiven”
我已经有了显示正确行和设置宽度的代码
private void updateAll()
{
dataGridViewInkomsten.DataSource = blFinancien.getFinancienByInkomsten();
//kolommen niet tonen waarin enkel id's worden getoond
dataGridViewInkomsten.Columns[0].Visible = false;
dataGridViewInkomsten.Columns[1].Visible = false;
dataGridViewInkomsten.Columns[2].Visible = false;
dataGridViewInkomsten.Columns[8].Visible = false;
dataGridViewInkomsten.Columns[6].HeaderText = "Inkomst/uitgave";
int breedtevankolommen = dataGridViewInkomsten.Width / 5;
dataGridViewInkomsten.Columns[3].Width = breedtevankolommen;
dataGridViewInkomsten.Columns[4].Width = breedtevankolommen;
dataGridViewInkomsten.Columns[5].Width = breedtevankolommen;
dataGridViewInkomsten.Columns[6].Width = breedtevankolommen;
dataGridViewInkomsten.Columns[7].Width = breedtevankolommen;
}
现在,根据第六列中的int值,我应该得到“Inkomst”
或“uitgeed”
。
我还有一个打印屏幕,所以你明白我的意思
有谁能告诉我如何做到这一点吗?编辑您要绑定网格的查询 包括大小写,如下所示:
CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END
select col1,col2,(CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END) as lnkomst/uitgave from tablename
select col1,col2,lnkomst/uitgave = Switch(
NUMREG=0,'lnkomst',
NUMREG=1,'uitgave'); from tablename
这样写查询
编辑访问权限:
CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END
select col1,col2,(CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END) as lnkomst/uitgave from tablename
select col1,col2,lnkomst/uitgave = Switch(
NUMREG=0,'lnkomst',
NUMREG=1,'uitgave'); from tablename
希望有帮助。编辑您要绑定网格的查询 包括大小写,如下所示:
CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END
select col1,col2,(CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END) as lnkomst/uitgave from tablename
select col1,col2,lnkomst/uitgave = Switch(
NUMREG=0,'lnkomst',
NUMREG=1,'uitgave'); from tablename
这样写查询
编辑访问权限:
CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END
select col1,col2,(CASE WHEN lnkomst/uitgave = 0 THEN 'lnkomst' ELSE 'uitgave' END) as lnkomst/uitgave from tablename
select col1,col2,lnkomst/uitgave = Switch(
NUMREG=0,'lnkomst',
NUMREG=1,'uitgave'); from tablename
希望有帮助。将数据保存到数据库后,使用
datagridview.rows[].cells[].value将数据保存到数据库中后,使用
datagridview.rows[].cells[].value有几种方法可以做到这一点
然后,在网格单元格式化事件(或任何类似事件)中,可以根据实际列(列1)中的值设置此列(列2)的文本 专用子网格格式(发送方,e) { if(grid.Rows(e.RowIndex).Cells(“COLUMN1”).Text==“0”) grid.Rows(e.RowIndex).Cells(“COLUMN2”).text=“value1” else(grid.Rows(e.RowIndex).Cells(“COLUMN1”).Text==“1”) grid.Rows(e.RowIndex).Cells(“COLUMN2”).text=“value2” }
有几种方法可以做到这一点
然后,在网格单元格式化事件(或任何类似事件)中,可以根据实际列(列1)中的值设置此列(列2)的文本 专用子网格格式(发送方,e) { if(grid.Rows(e.RowIndex).Cells(“COLUMN1”).Text==“0”) grid.Rows(e.RowIndex).Cells(“COLUMN2”).text=“value1” else(grid.Rows(e.RowIndex).Cells(“COLUMN1”).Text==“1”) grid.Rows(e.RowIndex).Cells(“COLUMN2”).text=“value2” }
SqlCeCommand cmd = new SqlCeCommand();
SqlCeConnection conn = new SqlCeConnection("connString");
cmd.Connection = conn;
cmd.CommandText = "SELECT COUNT(*) FROM yourTable";
var count = cmd.ExecuteScalar();
for (int i = 0; i <= int.Parse(count.ToString()); i++)
{
if (dataGridViewCategories.Rows[i].Cells["cellName"].Value.ToString() == "0")
{
dataGridViewCategories.Rows[i].Cells["coulmnName"].Value = "Inkomst";
}
else
{
dataGridViewCategories.Rows[i].Cells["coulmnName"].Value = "Uitgave";
}
}
SqlCeCommand cmd=newsqlcecommand();
SqlCeConnection conn=新的SqlCeConnection(“connString”);
cmd.Connection=conn;
cmd.CommandText=“从表格中选择计数(*)”;
var count=cmd.ExecuteScalar();
对于(int i=0;i请尝试以下方法:
SqlCeCommand cmd = new SqlCeCommand();
SqlCeConnection conn = new SqlCeConnection("connString");
cmd.Connection = conn;
cmd.CommandText = "SELECT COUNT(*) FROM yourTable";
var count = cmd.ExecuteScalar();
for (int i = 0; i <= int.Parse(count.ToString()); i++)
{
if (dataGridViewCategories.Rows[i].Cells["cellName"].Value.ToString() == "0")
{
dataGridViewCategories.Rows[i].Cells["coulmnName"].Value = "Inkomst";
}
else
{
dataGridViewCategories.Rows[i].Cells["coulmnName"].Value = "Uitgave";
}
}
SqlCeCommand cmd=newsqlcecommand();
SqlCeConnection conn=新的SqlCeConnection(“connString”);
cmd.Connection=conn;
cmd.CommandText=“从表格中选择计数(*)”;
var count=cmd.ExecuteScalar();
对于(int i=0;i首先创建单元样式:
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
dataGridViewCellStyle1.Format = "One;\'\';Zero";
dataGridViewCellStyle1.NullValue = null;
然后将单元格样式应用于动态列:
dataGridViewInkomsten.Columns[6].DefaultCellStyle = dataGridViewCellStyle1;
这样就可以了。首先创建单元格样式:
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
dataGridViewCellStyle1.Format = "One;\'\';Zero";
dataGridViewCellStyle1.NullValue = null;
然后将单元格样式应用于动态列:
dataGridViewInkomsten.Columns[6].DefaultCellStyle = dataGridViewCellStyle1;
这应该可以做到。当你在数据库中保存记录时,检查文本框的值,如果它为0,则将Inkmost存储在数据库中。这就是我认为没有什么需要问的。这是最基本的事情,但不是:你应该用英语编码,即使你正在编写荷兰程序。图恩:我的老师不允许,这就是为什么,但是的,大部分是可读的,eRaman:它应该存储在int中,这样更安全&按照规则:当你在db中保存记录时,检查文本框的值,如果它为0,则将Inkmost存储在db中。这就是我认为没有什么需要问的。这是最基本的事情,而不是:你应该用英语编码,即使你正在编写一个荷兰程序。Toon:我不是我的老师允许,这就是为什么,但是是的,大多数都是可读的,即使你不懂荷兰语。拉曼:它应该存储在整数中,更安全&按照规则:你敢说在SQL中写这个吗?我使用BLL和DAL,这是我的代码来获取SQL部分的所有内容:选择*来自Financial自由职业者:不幸的是我的SQL版本(它将access作为本地db与C#结合使用)不支持这一点:/you指的是在SQL中编写这一点吗?我使用BLL和DAL,这是我的代码来获取SQL部分中的所有内容:select*from Financian Freedoler:不幸的是,我的SQL版本(它将access作为本地db与C#结合使用)不支持这一点:/Pretty nice,但遗憾的是我不知道将有多少个单元格,那么我如何在单元格[]中给它一个值?:/I只有:dataGridViewInkomsten.DataSource=blfinancian.getAlleFinancien();//kolomen niet tonen waarin enkel id的worden getoond dataGridViewInkomsten.Columns[0].Visible=false;dataGridViewInkomsten.Columns[1]。Visible=false;dataGridViewInkomsten.Columns[2]。Visible=false;dataGridViewInkomsten.Columns[8]。Visible=false;dataGridViewInkomsten.Columns[6]。HeaderText=“Inkomst/UIGived”;然后,您可以尝试计数数据库中的所有记录,使用for循环检查gridview中的每个值,并将for计数器放入单元格[]aantal=blFinancien.getAllFinancien().Count();int teller;for(teller=0;teller是否为“0”)在数据库中,它是一个int值,所以databasefield是一个值为“0”或“1”的int,非常好