高分求教,高手请进来帮忙救我!!!

jiuvo 2003-05-21 04:17:34
我现在搞一个选房题目,这个选房按‘积分’的高低来安排谁优先选,积分高的选完了,后面的人才可以选。

我在页面上的datagrid上显示的内容如下:(它们是要买房者的信息,按积分由高到低排列,并且会不断有买房者登记,这里需要不断更新)
--------------------

姓名 院系 积分 选房
name dept score 我要选房(linkbutton)
---------------------

点击“我要选房”,进入选房页面里,房屋信息如下:
=============================================================
houseID district address 我选这套
xx xx xx (这里是一个checkbox,要选就打勾)
=============================================================

我想知道怎样设置权限,始终只能让上面那个最高分可以选房,其他人则不能选(后面的勾为灰色,不能选择)这里怎么搞啊。而且选房者选房时只能选择一套,这又怎么控制哪??
当最高分选完后,他后面的人又可以选了,依次下来。。。。请高手指点。。或者哪位大侠还有更好办法解决,在此谢谢了。

因为我是只小菜鸟,还请各位高手讲的具体点。
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiuvo 2003-05-22
  • 打赏
  • 举报
回复
555555555555555~~~
1。用RadioButtonList怎么搞啊。
2。下面是我用来检验用户是否为注册用户的代码:我的用户信息表里有userID,password,username(真实姓名),Dept(所在院系).
我想在下面的代码中通过ds获得username,Dept的值(只有这两个值与员工信息相关联),可是我不会请大侠帮忙啊。
CREATE PROCEDURE [Login] @UserID varchar(15),@Password varchar(20) AS
select UserID from UserInfo where UserID=@UserID and Password=@Password
GO


'判断用户是否是已注册用户的函数
Function IsPassed() As Boolean
Dim strconnection As String
strconnection = "server=localhost;uid=sa;pwd= ;database=house"
Dim mycommand As SqlDataAdapter = New SqlDataAdapter("Login", strconnection)
mycommand.SelectCommand.CommandType = CommandType.StoredProcedure
mycommand.SelectCommand.Parameters.Add(New SqlParameter("@UserID", SqlDbType.VarChar, 15))
mycommand.SelectCommand.Parameters.Add(New SqlParameter("@Password", SqlDbType.VarChar, 20))
mycommand.SelectCommand.Parameters("@UserID").Value = txtUserID.Text
mycommand.SelectCommand.Parameters("@Password").Value = txtPassword.Value

Dim ds As DataSet = New DataSet()
mycommand.Fill(ds, "UserInfo")

If ds.Tables("UserInfo").Rows.Count > 0 Then '有记录返回时
Return (True)
Else
Return (False)
End If

End Function

Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click, LinkHouse.Click
If IsPassed() Then '有记录返回时
Session("UserID") = txtUserID.Text
lblmessage.Text = "您好!" & Session("UserID") & "欢迎光临房产科管理系统!"
Else
lblmessage.Text = "对不起,您不是我们的注册用户,请先注册!"
End If
End Sub

jiuvo 2003-05-21
  • 打赏
  • 举报
回复
goodidea大哥请问
1.“用户提交的时候如果多选了则提示不能多选,”,怎么才能不让他多选哪??

2."用户登陆的时候保存他的score"。我的用户信息表里没有用户的score,用户信息表里只有userID,passwore,username(真实姓名).
用户的score在员工信息表里,我是这样想的:当买房的员工登记他想买房后,把他的want标志设为1,而选了房以后把它的buy标志设为1。那他登录后怎么获得他的score啊,是不是要在用户信息表里加上score字段啊??

gOODiDEA 2003-05-21
  • 打赏
  • 举报
回复
1、用户登陆的时候保存他的score。

2、在DataGrid里用模板列放一个CheckBox,如:
<asp:TemplateColumn HeaderText="我选这套">
<ItemTemplate>
<asp:CheckBox id="CheckID" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>

3、在DG的ItemDataBound事件里对该用户的score和数据库里的最高分比较,如果想等则可以选,如:

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ( ( e.Item.ItemType != ListItemType.Header ) && ( e.Item.ItemType != ListItemType.Footer ) )
{
string sql = "SELECT MAX( score ) AS MAX_Score FROM ....";
//取得MAX_Score

for( int i = 0; i < DataGrid1.Items.Count; i++ )
{
CheckBox chk = ( CheckBox )DataGrid1.Items[i].FindControl("CheckID");
if ( MAX_Score == 保存的分数 )
{
chk.Enable = true;
}
else
{
chk.Enable = false;
}

}
}
}


4、用户提交的时候如果多选了则提示不能多选,返回
gOODiDEA 2003-05-21
  • 打赏
  • 举报
回复
1、那就用RadioButtonList,不要用CheckBox

2、那就保存他的ID号,在需要的地方用ID去查信息表得到分数。

62,074

社区成员

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

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

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

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