0

我有四个DropDownList控件。年份、国家、PC、CC

选择年份会与PCCC一起填充Country。但是,如果我只选择Country并点击Submit,那么结果应该显示如下: DropDownList ButtonGridView

电脑一览 || 总交易金额

PC1....................... 500.00
PC2....................... . 600.00

但是如果我选择CountryPCCC那么结果是不同的,也需要显示在 a 中GridView

帐户 || 总交易金额

ACC1....................... 100.00
ACC2........ . 200.00

这两个过程之间的相似之处在于,当我从第GridView一个单击PC 列表中的一个时,我将不得不使用最后一个GridView

问题

  1. 我是否必须GridView为这两个不同的用例使用单独的控件并将搜索结果绑定到不同的GridView
  2. 我有 2 种方法,其中一种方法为所选国家/地区的 PC返回总计,另一种方法为所选国家PCCC帐户返回总计,在这种情况下,我可以在使用相同 GridView 的情况下执行以下操作不同的结果,这实际上不起作用?

        protected void _UIButtonSubmit_Click(object sender, EventArgs e)
    {
        IEnumerable<AccountTransactionViewModel> transactions = null;
        IEnumerable<TransactionTotalForProfitcenterViewModel> totalProfitcenterTranAmount = null;
    
        if ((_UIFilterDDCountry.SelectedValue) != null)
        {
            //transactions = ts.GetAllTransactionsByCountry(_UIFilterDDCountry.SelectedItem.Value);
            totalProfitcenterTranAmount = ts.GetTotalTransactionsForProfitcenter(_UIFilterDDCountry.SelectedItem.Value);
    
            _UITransactionGridView.DataSource = totalProfitcenterTranAmount;
        }
    
        else if ((_UIFilterDDCountry.SelectedValue) != null 
                && !string.IsNullOrEmpty(_UIFilterDDProfitcenter.SelectedValue) 
            && !string.IsNullOrEmpty(_UIFilterDDCostcenter.SelectedValue))
        {
            transactions = ts.GetAllTransactionsByYearCountryProfitcenterCostcenter(
                                            _UIFilterDDCountry.SelectedItem.Value,
                                            int.Parse(_UIFilterDDProfitcenter.SelectedItem.Value),
                                            int.Parse(_UIFilterDDCostcenter.SelectedItem.Value));
            _UITransactionGridView.DataSource = transactions;
        }
        _UITransactionGridView.DataBind();
        _UITransactionGridView.PageIndex = 0;
    }
    

如果有人能引导我(asp.net 和 c# 的新手)找到正确的方向并提出更好的选择、逻辑、想法等,我将不胜感激。

4

1 回答 1

0

UIFilterDDCountry.SelectedValue 可以为空吗?还有绑定到下拉列表的值是什么。

此外,您需要将国家下拉列表设置为强制,在您的方法中删除国家下拉值检查,并在没有国家下拉检查的情况下反转条件检查

尝试使用下拉 selectedindex 值而不是选定值。

您可以使用单个 gridview 继续进行,但这将根据所选选项在运行时(代码隐藏)期间编写一些代码来更改列名等。否则只需使用 2 个 gridview 控件并根据所选选项设置其可见性。

于 2013-02-19T11:32:48.203 回答