DataGrid中的字段绑定问题

wuhanzhangyi 2003-07-09 04:39:38
数据库中有两个字段,要同时绑定到一列中,其中一个字段是数字(DivID),一个字段为字符串(NodeName)。需要将按数字替换成 再与另一个字段一起出现在同一列中!请高手指点!
源码如下:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="ZConnection" %>
<html>
<head>
<title>MenuConfig</title>
<LINK rel="stylesheet" type="text/css" href="../css/GoldIdeaERP.css">
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language=C# runat=server>
private void Page_Load(object sender, System.EventArgs e)
{
MyDataGrid.DataSource = GetDataSet();
MyDataGrid.DataBind();
}
private DataSet GetDataSet()
{
Opr oOpr = new Opr();
OleDbConnection oConn = new OleDbConnection();
oConn = oOpr.getConn();
OleDbDataAdapter odAdapt = new OleDbDataAdapter("select * from ZTreeT where Status=1 Order By OrderID",oConn);
DataSet oDS = new DataSet();
odAdapt.Fill(oDS);
return oDS;
}
</script>
</head>
<body leftmargin="0" topmargin="0">
<form runat=server ID="Form1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="1%"><img src="../images/Flag.jpg" width="32" height="32"></td>
<td width="99%"> ModuleName</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
查询条件1:<input type="text" name="SearckKey1" size="10" class="inputbox1"> 查询条件2:<input type="text" name="SearckKey2" size="10" class="inputbox1">
查询条件3:<input type="text" name="SearckKey3" size="10" class="inputbox1"> 查询条件4:<input type="text" name="SearckKey4" size="10" class="inputbox1">
<input type="submit" name="SelectSearch" value=" 查询 " class="button1"> <input type="submit" name="SelectAll" value=" 全部 " class="button1">
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" bgcolor="Gray"></td>
</tr>
</table>
<ASP:DataGrid id="MyDataGrid" runat="server" BorderColor="black" Width="100%"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AutoGenerateColumns="false">
<Columns>
<asp:BoundColumn HeaderText="编号" DataField="ID" HeaderStyle-HorizontalAlign="Center" />
<asp:BoundColumn HeaderText="名称" DataField="NodeName" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundColumn HeaderText="连接地址" DataField="LinkSrc" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundColumn HeaderText="显示顺序" DataField="DisplayOrder" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundColumn HeaderText="状态" DataField="Status" HeaderStyle-HorizontalAlign="Center"/>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhanzhangyi 2003-07-10
  • 打赏
  • 举报
回复
谢谢chxzll;也谢谢其它回贴的人员;
不过代码还是有点问题,已经解决:

不好意思,出了点小问题,应该这样:
<asp:TemplateColumn HeaderText="Sort By" SortExpression="*">
<ItemTemplate>
<%# Conver( (int) DataBinder.Eval(Container.DataItem, "DivID")) %>
<%# DataBinder.Eval(Container.DataItem,"NodeName")%>
</ItemTemplate>
</asp:TemplateColumn>

然后在.cs中写函数Conver(int DivID),根据DivID的值做循环转成DivID个 就OK了
你做树吧,为什么不用TreeView控件呢?
chenyu112 2003-07-09
  • 打赏
  • 举报
回复
up
chxzll 2003-07-09
  • 打赏
  • 举报
回复
不好意思,出了点小问题,应该这样:
<asp:TemplateColumn HeaderText="Sort By" SortExpression="*">
<ItemTemplate>
<%# Conver( (int) DataBinder.Eval(Container.DataItem, "DivID")) %> + "" + DataBinder.Eval(Container.DataItem,"NodeName")%>
</ItemTemplate>
</asp:TemplateColumn>

然后在.cs中写函数Conver(int DivID),根据DivID的值做循环转成DivID个 就OK了
你做树吧,为什么不用TreeView控件呢?
chxzll 2003-07-09
  • 打赏
  • 举报
回复
<asp:TemplateColumn HeaderText="Sort By" SortExpression="*">
<ItemTemplate>
<%#<%# Conver( (int) DataBinder.Eval(Container.DataItem, "DivID")) %> + "" + DataBinder.Eval(Container.DataItem,"NodeName")%>
</ItemTemplate>
</asp:TemplateColumn>

然后在.cs中写函数Conver(int DivID),根据DivID的值做循环转成DivID个 就OK了
junmingl 2003-07-09
  • 打赏
  • 举报
回复
将数据表取出绑定到一个datatable上,再新建一个列,其值=DivID字段的长度个 加上NodeName字段的值,将这个列插入datatable中.
lansluo 2003-07-09
  • 打赏
  • 举报
回复
试试看用模板列,在里面放一个label或者其他的,然后再这个label的绑顶上把两个字段串接。

或者在sql语句里面直接 select (id+name) as idname from ....然后再你的itemdatabound重处理。

62,025

社区成员

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

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

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

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