如何使用存储过程填充为搜索记录选择的下拉列表

时间:2014-11-25 04:59:58

标签: c# asp.net stored-procedures

我是asp.net c#的新手。如何在用户使用C#代码存储过程选择的下拉列表中显示记录。谁能给我一些这方面的例子?谢谢

在我的代码下面:

<div id="divStatus">
<center style="height: 489px; width: 768px">
    <br />
    <br />
    <asp:Label ID="lblHead" runat="server" Text="Call Status Report" 
        style="font-weight: 700"></asp:Label>
    <br />
<br /> 
<table style="width: 250px">
<tr>
<td>Select Employee</td>
<td><asp:DropDownList ID="ddlEmp" runat="server"></asp:DropDownList></td>
<td><asp:RequiredFieldValidator ID="rfvEmp" runat="server" ControlToValidate="ddlEmp" ErrorMessage="*"  ></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td  colspan="2"></td>
</tr>
<tr>
<td></td>
<td style="margin-left: 40px">
    <asp:Button ID="btnStatus" runat="server" 
        Text="Status" Width="71px" onclick="btnStatus_Click" />
        </td>
</tr>
</table>
<br />
<br />
<asp:GridView ID="gvStatus" runat="server" AllowPaging="True" 
        AutoGenerateColumns="False" 
        onpageindexchanging="gvStatus_PageIndexChanging" Width="464px">
<Columns>
<asp:BoundField DataField="Call_logID" HeaderText="Log ID" />
                <asp:BoundField DataField="EntryTime" HeaderText="DateIn" />
<asp:BoundField DataField="Log_Status" HeaderText="Status" />
</Columns>
</asp:GridView>

低于我的商店程序:

@Log_EntryBy varchar(100) = ''
AS

select CONVERT (varchar(50),EntryTime,103)as Date, Call_logID,Log_code , Log_Status from Call_Log_Service
where Log_EntryBy = @Log_EntryBy order by Call_logID

2 个答案:

答案 0 :(得分:0)

您好这是一个下拉列表的简单示例

我的源代码是这样的

<body>
<form id="form1" runat="server">
<div>
   <asp:DropDownList ID="DropDownListTest" runat="server" 
        onselectedindexchanged="DropDownListTest_SelectedIndexChanged" 
        AutoPostBack="True">
       <asp:ListItem Value="0">Select</asp:ListItem>
       <asp:ListItem Value="1">Super admin</asp:ListItem>
       <asp:ListItem Value="2">Admin</asp:ListItem>
</asp:DropDownList> 

<asp:Label ID="Label1" runat="server" >Hello</asp:Label>
</div>

</form>

在.cs文件

 protected void DropDownListTest_SelectedIndexChanged(object sender, EventArgs e)
    {

        Label1.Text = DropDownListTest.SelectedItem.Value;
    }

我正在使用下拉选择值更改标签值 我希望这个例子可以帮助你

答案 1 :(得分:0)

要提供更准确的答案,您需要提供存储过程名称及其输出内容。如果没有这些细节,我会做出以下假设,你必须根据自己的实际环境进行调整。

  1. 存储过程以致电:Employees_Select
  2. 该过程返回包含字段名称FullNameEmployeeId
  3. 的单个结果集

    首先,您需要将下拉列表配置为映射到数据源的字段:

    <asp:DropDownList ID="ddlEmp" runat="server" DataTextField="FullName" DataValueField="EmployeeId"></asp:DropDownList>
    

    然后,您需要在加载表单时调用代码(或者甚至是您认为需要的任何代码)来绑定到下拉列表。

        protected void FillEmployees()
        {
            var connectionString = "your_connection_string_from_config";
            using (var connection = new SqlConnection(connectionString))
            {
                using (var adapter = new SqlDataAdapter("Employees_Select", connection))
                {
                    connection.Open();
                    adapter.SelectCommand.CommandType = System.Data.CommandType.StoredProcedure;
                    var ds = new System.Data.DataSet();
                    adapter.Fill(ds);
                    ddlEmp.DataSource = ds.Tables[0];
                    ddlEmp.DataBind();
                }
            }
        }