【问题标题】:Pass parameters to report Devexpress传参数上报 Devexpress
【发布时间】:2021-02-22 18:07:52
【问题描述】:

请告诉我。创建了 2 个类(数据模型)

public class User 
{
    public int UserID { get; set; }
    public string UserName { get; set; }
    public string Department { get; set; }
    public int Office { get; set; }
    public string Position { get; set; }
    public string Phone { get; set; }
    public float Mobile { get; set; }
    public string EMail { get; set; }
    public string Login { get; set; }
    public int idArm { get; set; }
}

public class arm
{
   public int id { get; set; }
   public string name { get; set; }
   public string Detalis { get; set; }
}

我在表单上安装了 2 个 GridControlls 并通过DataSet显示数据

string connectionString = ConfigurationManager.ConnectionStrings["connectionSIPiT"].ConnectionString;

        string command = "SELECT * FROM Users";

        string command2 = "SELECT * FROM arm";

        sqlConnection = new SqlConnection(connectionString);

        SqlDataAdapter adapter = new SqlDataAdapter(command2, sqlConnection);

        SqlDataAdapter adapter1 = new SqlDataAdapter(command, sqlConnection);

        DataSet dataset1 = new DataSet();

        adapter.Fill(dataset1, "arm");
        adapter1.Fill(dataset1, "Users");

        DataColumn keyColumn = dataset1.Tables[0].Columns[0];
        DataColumn foreignKeyColumn = dataset1.Tables[1].Columns[9];
        dataset1.Relations.Add("armUsers", keyColumn, foreignKeyColumn);

        armBindingSource.DataSource = dataset1;
        armBindingSource.DataMember = "arm";

        userBindingSource.DataSource = armBindingSource;
        userBindingSource.DataMember = "armUsers";
        gridControl1.DataSource = userBindingSource;
        gridControl2.DataSource = armBindingSource;

如何在主表 GridControll 中选择一行。发送报告数据。或者传递主表的id来构建报表?有人能遇到这样的任务吗?

【问题讨论】:

  • 这肯定不是 C。请适当标记。
  • 您是说用户在 Devexpress GridView 中选择了一个行,当他们这样做时您想将该 Id 作为参数传递以显示报告?报告是在同一页面上还是在单独的页面上?如果是这样,请附上 gridview 本身的一些代码,以便我可以帮助回答您的问题

标签: winforms devexpress-windows-ui


【解决方案1】:
  1. 确保报告参数的修饰符属性设置为公共或内部
  2. 使用 GridView.GetRowCellValue 方法获取焦点记录的 ID 列值

以下假设您有一个名为 MyReport 的报表,并且它有一个名为 MyParameter 的参数。

var id = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["UserID"]));
var rpt = new MyNewReport();
rpt.MyParameter.Value = id; //Make sure the MyParameter's Modifiers property is set to Public or Internal.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多