怎么才能使datagrid得某一列显示的值与实际值不一样?我是说我从数据库中提取的值与在datagrid要显示的值不一样。

zxggwan 2003-12-22 03:53:27
怎么才能使datagrid得某一列显示的值与实际值不一样?我是说我从数据库中提取的值与在datagrid要显示的值不一样。
请分别提供使用字典表与不用字典表的方法~!~!如果不用字典表的话是不是就要用数组来保存显示数据与数据库的值呢?〉?〉〉〉〉
...全文
56 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxggwan 2004-01-17
  • 打赏
  • 举报
回复
怎么反回来啊
zxggwan 2003-12-24
  • 打赏
  • 举报
回复
up
yanyl2001 2003-12-24
  • 打赏
  • 举报
回复
sz
jsljy 2003-12-24
  • 打赏
  • 举报
回复
把原来绑定id那个列,改成绑定一个函数,传的参数是id。那个函数是会根据这个id去数据库里取出对应的名字,再把这个名字反回来,就可以了
lar99 2003-12-24
  • 打赏
  • 举报
回复
from A,B
lar99 2003-12-24
  • 打赏
  • 举报
回复
用sql写个就是了,select A.id,B.name where A.id=B.id
botao2690 2003-12-24
  • 打赏
  • 举报
回复
实际上是不是显示的Text和Value分别赋值,up
zxggwan 2003-12-24
  • 打赏
  • 举报
回复
up
liuvb 2003-12-23
  • 打赏
  • 举报
回复
你的意思是用别名吗?
Vicart 2003-12-23
  • 打赏
  • 举报
回复
你可以参考微软的例子:
public class DataGridCRTextBoxColumn:DataGridTextBoxCellColumn
{
protected override object GetColumnValueAtRow(CurrencyManager source,int rowNum)
{
object val = base.GetColumnValueAtRow(source,rowNum);
if( val.GetType() == Type.GetType("DBNull"))
{
return String.Empty; // string to display for DBNull
}
else
{
Decimal tmp = (Decimal)TypeDescriptor.GetConverter(Type.GetType("Decimal")).ConvertFrom(val);//.ConvertFromString(val.ToString());
if(tmp>=0)
return tmp.ToString("0.00");
else
return (-tmp).ToString("0.00")+"CR";
}
}
protected override bool Commit(CurrencyManager dataSource,int rowNum)
{
// parse the date and write to underlying record.

base.HideEditBox();//return focus to the DataGrid control
DataGridTextBox cell = base.TextBox as DataGridTextBox;
Decimal val;

// Do not write data if not editing.

if( cell.IsInEditOrNavigateMode) return true;
if( base.TextBox.Text == "") // I map "" to DBNull
base.SetColumnValueAtRow(dataSource,rowNum,DBNull.Value);
else
{
try
{
if(base.TextBox.Text.ToUpper().EndsWith("CR"))
val = - Decimal.Parse(base.TextBox.Text.Substring(0,base.TextBox.Text.Length-2));
else
val = Decimal.Parse(base.TextBox.Text);

base.SetColumnValueAtRow(dataSource,rowNum,val);

}
catch
{
return false; // Exit on error and display old "good" value
}
}

base.EndEdit(); // Let the DataGrid know that processing is completed.
return true; // Success
}

}
zxggwan 2003-12-23
  • 打赏
  • 举报
回复
up
zxggwan 2003-12-23
  • 打赏
  • 举报
回复
up
ProgramPig 2003-12-23
  • 打赏
  • 举报
回复
那最好还是改SQL语句吧
zxggwan 2003-12-23
  • 打赏
  • 举报
回复
我的意思是使用字典表,比如说这个表里只有用户的id而在datagrid中显示的时候要显示用户的姓名,在另一个表里有用户id和姓名字段
yunhi 2003-12-22
  • 打赏
  • 举报
回复
会不会是你从数据库提取数据的Sql语句或者存储过程有问题?
nuptrxy 2003-12-22
  • 打赏
  • 举报
回复
用boundcolumn对象试试
zxggwan 2003-12-22
  • 打赏
  • 举报
回复
刚才看了一下listbox好像可以,但是放到摸板列中好像不能直接榜定

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧