- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
-6ren">
我的页面目前是这样的:
<!-- Datasource -->
<asp:SqlDataSource ID="SqlDataSource_GetURL" runat="server" ConnectionString="<%$ ConnectionStrings:TEST_DEV1 %>" SelectCommand="TEST_GetReports" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="0" Name="CustomerID" Type="String" />
<asp:Parameter DefaultValue="0" Name="UserId" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<!-- Dropdown List -->
Company: <asp:DropDownList ID="ddlCompanyList"
runat="server" OnSelectedIndexChanged="ddlCompanyList_SelectedIndexChanged"
AutoPostBack="true" DataSourceID="SqlDataSource_GetURL"
DataValueField="RSReportLinkID" DataTextField="ReportName" CssClass="select">
</asp:DropDownList>
<!-- Report Viewer -->
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Width="930px" Height="1000" Font-Size="8pt" ProcessingMode="Remote" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<ServerReport ReportPath="/Systems/Test/Report 1" ReportServerUrl="http://test/ReportServer" />
</rsweb:ReportViewer>
其背后的代码是:
protected void ddlCompanyList_SelectedIndexChanged(object sender, EventArgs e)
{
//TODO: change to SP
string strConnectionString = ConfigurationManager.ConnectionStrings[Constants.ConnectionStringName].ConnectionString;
string strCustomerID = CommonCode.GetCurrentCustomerID();
string strUserID = CommonCode.GetCurrentUserID().ToString();
using (SqlConnection connection = new SqlConnection(strConnectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("TEST_GetReportSettingsForReport", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@CustomerID", strCustomerID);
command.Parameters.AddWithValue("@UserId", strUserID);
command.Parameters.AddWithValue("@RSReportLinkID", "5CCD639D-E930-4896-AE36-323EC3495D24");
;
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Response.Write(reader.GetValue(3));
}
}
else
{
/* Console.WriteLine("No rows found.");*/
}
reader.Close();
connection.Close();
}
}
目前 @RSReportLinkID 被硬编码为 5CCD639D-E930-4896-AE36-323EC3495D24,因此当通过下拉列表选择报告时,ddlCompanyList_SelectedIndexChanged 会变魔术并从我的表格的第四列返回 ReportPath 感谢这一行:
Response.Write(reader.GetValue(3));
但我的问题是,如何将 ReportLinkID 传递给 @RSReportLinkID 而不是硬编码?我的下拉列表中的选项是通过从表中获取报告列表的存储过程提供的。每个报告在第一列中也有一个 ReportLinkID,所以我希望只是做一些事情,例如......当从下拉列表中选择一个报告时,这将是一个 SelectedIndexChange,我表中的第一列被抓取(这将是 ReportLinkID)然后将其传递到我的代码并存储在@RSReportLinkID 中。
感谢您提供任何帮助或信息!我觉得这是一件非常简单的事情,涉及对象发送者和 EventArgs e 的使用,但是我无法理解它。
最佳答案
我认为您需要将 RSReportLinkID 存储为下拉列表的值。这样在 ddlCompanyList_SelectedIndexChanged 方法中,您将能够像这样访问它:
protected void ddlCompanyList_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = sender as DropDownList;
string RSReportLinkID = ddl.SelectedValue;
}
关于c# - 在 SelectedIndexChange 上传递一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19243444/
我的代码: *.aspx: *.aspx.cs: protected void Page_Load(object sender, EventArgs e) { CountryList.Sele
我有点陷入实现困境。 我正在将 Windowsforms 与 Oracle 数据库结合使用 我有一个包含很多控件的页面,包括带有子程序(A、B、C..)的 DropDownList、一组 CheckB
我使用 C# 使用 ASP.NET WebForms。单击它创建一个下拉列表时,我有一个按钮。这个列表是在“createlist”方法中使用 id 和 items 等参数创建的。我还添加了一个 Sel
如何在索引更改之前处理组合框选择的索引事件? Winforms 不提供任何类型的 ComboBox.SelectedIndexChanging 事件! 谢谢 最佳答案 I achieved it us
当用户更改我的网格中 DataGridViewComboBoxColumn 的值时,我需要执行一个操作。假设我必须显示一条消息。 问题是 messagebox.show("hello") 代码执行了数
我正在处理 onSelectIndexChanged 事件。当 DropDownList 选择更改时会引发一个事件。问题是 DropDownList 仍然返回 SelectedValue 和 Sele
我有以下简单代码:
我有一个结构如下的表单应用程序: +--------------------------------------------------------------+ | FormMain
我想找到父转发器,其中包含子转发器和子转发器包含下拉列表。在 Drowndownlist 的 SelectedIndexChange 上,我想找出父转发器。找到parent repeater后,想找到
我正在使用 Visual Studio 2005 在 VB.NET 中进行开发。 我在 Load 方法中填充的表单上有一个 ComboBox (myCombo)。 我还处理了 myCombo.Sele
我正在尝试以编程方式将未指定数量的新用户控件添加到表单中。每次在包含在 UserControl 中的 ComboBox 中选择一个条目时,都会添加一个。 问题是,SelectedIndexChange
我正在使用 Vb.net 在 asp.net 网站上工作,我有一个带有 autopostback = true 的下拉列表,我需要在更改项目时获取选定的值,或者我想获取触发 selectedindex
我在一个只有 listbox 的 winforms 后面有这个代码作为其唯一控制: Imports System.Windows.Forms Public Class Form1 Public
我的页面上有一个下拉列表和网格。更改下拉值时,网格会刷新。绑定(bind)到网格的数据是从数据库中获取的。当我更改下拉值时,我应该能够看到加载屏幕上的图像。加载数据后,加载图像应该消失。我将如何实现这
我有一个带有 ComboBox 的表单,它提供了一个下拉列表。在组合框的 SelectedIndexChanged 事件 上,我正在运行一些代码,但我不希望在加载表单时运行该代码。不幸的是,当我加载表
我有一个下拉列表(dr1),它应该在不影响 dr3 的情况下触发 dr2 的更新。问题是 dr1 触发更新,但没有进入 dr1_SelectedIndexChanged。我知道这是因为标签不会改变并且
在用户根据他们选择的内容选择第一个所需的下拉列表后,我正在使用两个下拉框,另一个下拉列表将加载最终列表。我有这个工作但是我不希望页面在选择第一个下拉选项后重新加载是否有解决方法下面是我的测试代码 Be
我有一个生成的复选框列表,它是通过选择另一个复选框列表上的选项生成的: CheckBoxList typefilter = new CheckBoxList { ID = "typefilter" +
上述错误发生在列表框的 SelectedIndexChanged 单击事件上。 debug返回的值是"",但是看网页源码肯定有值。 这是我的列表框: 这是事件: protected void ls
我的问题与此类似:How to prevent ListBox.SelectedIndexChanged event? , 但我想换个方式问。 是否有一种简单的方法来确定“SelectedIndexC
我是一名优秀的程序员,十分优秀!