我想将数据库里的数据取出来然后在每个对应的lable上显示。我的做法如下。但是我感觉这样太麻烦了,也太笨了。因为初学所以只想到了这种办法。不知道还有没有更好,更简单方法。将数据很快高效率的绑定到控件上。//绑定方法
public void Bind()
{
string meetingID = Request.Params["MeetingCountID"];
string sql = "select [name],[startDate],[finishDate],[applyDate],[content]," +
"case when [MettingType]=1 then '所有人员' else [participator] end as participator," +
"case when [startDate]<getdate() and getdate()<[finishDate] then '正在进行' else case when getdate()<[startDate] then '未开始' else '已结束' end end as estate ,[BoardroomName]," +
"[EmpName],[DeptName],[BranchName],[MeetingCount].[MeetingCountID],[Boardroom].[BoardroomID],[MeetingCount].[Servers],[MeetingCount].[Nature],"+
"[MeetingCount].[participatorID],cast([MeetingUser].[DepID] as varchar(5))+'*'+cast([MeetingUser].[EmpID] as varchar(5)) as [IDS],[MeetingCount].[approve],[MeetingCount].[approveDate] " +
"from [MeetingCount] join [Boardroom] on [MeetingCount].[BoardroomID]=[Boardroom].[BoardroomID]" +
"join [MeetingUser] on [MeetingCount].[MeetingUserID]=[MeetingUser].[MeetingUserID]" +
"where MeetingCount.[MeetingCountID]=" + meetingID;
ArrayList al = (new Meeting()).GetDataOdd(sql);
nameLab.Text = al[0].ToString();
startDateLab.Text = al[1].ToString();
finishDateLab.Text = al[2].ToString();
applyDateLab.Text = al[3].ToString();
contentLab.Text = al[4].ToString();
participatorLab.Text = al[5].ToString();
estateLab.Text = al[6].ToString();
BranchNameLab.Text = al[10].ToString();
EmpNameLab.Text = al[8].ToString();
DeptNameLab.Text = al[9].ToString();
boardroomLab.Text = al[7].ToString();
Label2.Text = al[11].ToString();//会议ID
Label1.Text = al[12].ToString();//会议室ID
serverLab.Text = al[13].ToString();
NatureLab.Text = al[14].ToString();
participator2Lab.Text = al[15].ToString();
EmpIDs.Text = al[16].ToString();
approveLab.Text = al[17].ToString();
approveDateLab.Text = al[18].ToString();
al.Clear();
}
public void Bind()
{
string meetingID = Request.Params["MeetingCountID"];
string sql = "select [name],[startDate],[finishDate],[applyDate],[content]," +
"case when [MettingType]=1 then '所有人员' else [participator] end as participator," +
"case when [startDate]<getdate() and getdate()<[finishDate] then '正在进行' else case when getdate()<[startDate] then '未开始' else '已结束' end end as estate ,[BoardroomName]," +
"[EmpName],[DeptName],[BranchName],[MeetingCount].[MeetingCountID],[Boardroom].[BoardroomID],[MeetingCount].[Servers],[MeetingCount].[Nature],"+
"[MeetingCount].[participatorID],cast([MeetingUser].[DepID] as varchar(5))+'*'+cast([MeetingUser].[EmpID] as varchar(5)) as [IDS],[MeetingCount].[approve],[MeetingCount].[approveDate] " +
"from [MeetingCount] join [Boardroom] on [MeetingCount].[BoardroomID]=[Boardroom].[BoardroomID]" +
"join [MeetingUser] on [MeetingCount].[MeetingUserID]=[MeetingUser].[MeetingUserID]" +
"where MeetingCount.[MeetingCountID]=" + meetingID;
ArrayList al = (new Meeting()).GetDataOdd(sql);
nameLab.Text = al[0].ToString();
startDateLab.Text = al[1].ToString();
finishDateLab.Text = al[2].ToString();
applyDateLab.Text = al[3].ToString();
contentLab.Text = al[4].ToString();
participatorLab.Text = al[5].ToString();
estateLab.Text = al[6].ToString();
BranchNameLab.Text = al[10].ToString();
EmpNameLab.Text = al[8].ToString();
DeptNameLab.Text = al[9].ToString();
boardroomLab.Text = al[7].ToString();
Label2.Text = al[11].ToString();//会议ID
Label1.Text = al[12].ToString();//会议室ID
serverLab.Text = al[13].ToString();
NatureLab.Text = al[14].ToString();
participator2Lab.Text = al[15].ToString();
EmpIDs.Text = al[16].ToString();
approveLab.Text = al[17].ToString();
approveDateLab.Text = al[18].ToString();
al.Clear();
}
解决方案 »
- 网站数据自动更新
- 什么工具自动生成access数据库的asp.net代码
- 求救:windbg和sos.dll的版本对不上?是怎么回事?
- 给 ListView 的 编辑加 验证
- Button1.Attributes.Add()的问题
- 我真的好怕!!!因为我对CSDN太依赖了,有别的好的技术网站吗?大家提供一下交换一下
- 关于TabStrip和MultiPage制作在web页面的选项卡的问题?
- 跨嵌入页控制问题
- asp.net网站在vs编译正常,IIS配置访问“报未能找到类型或命名空间名称”
- 我想实现在一个Textbox中输入内容的同时,在另一个Textbox中也同时得到相同的内容,用什么方法能实现?
- 请教dataset
- 请问如何给treeview(web)加一个自定义的右键菜单(删除,增加,修改节点),treeview是的节点是从数据库读出来的
下一步时会问@mettingID从哪里获得,选择QueryString, 名称:MeetingCountID结束。FormView会自动为你生成一大堆Label.
OnRowDataBound="GridView1_RowDataBound" Height="140px">
<Columns>
<asp:TemplateField HeaderText="用户编号">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("cid") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("cid") %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户帐号">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("username") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("username") %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="电子邮箱">
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("email") %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户权限">
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("aleave") %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="修 改">
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label2" runat="server" Width="25px"><a href="Admin_EditUser.aspx?cid=<%#Eval("cid")%>">修改</a></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删 除">
<ItemTemplate>
<table align="center">
<tr align="center">
<td>
<asp:Label ID="Label1" runat="server"><a href="DeleteUser.aspx?cid=<%#Eval("cid")%>">删除</a></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
而且这些Lable分布在页面各个地方。Lable在页面的分布是不规则的。
并不是很规则的几行几列。。所以不知道有没有更简单的方法。听说有一种叫反射的技术,不知道可不可以。PS:楼上朋友这样的确可以。但是我感觉有点笨。呵呵。不知道高手们是怎么赋值的。
不过缺点也有
真不知道你在想什么,你这应用明显就是一次显示一条记录的。FormView结合数据源控件一行代码都不用写就能给你弄出一大堆绑定好了不起Label,然后怎么排版你再细化不就得了吗?真能折腾:-)