【问题标题】:Apache Cassandra gridView issuesApache Cassandra gridView 问题
【发布时间】:2013-05-12 12:46:30
【问题描述】:

我无法从 Apache-Cassandra 获取显示在 gridview 上的行键值。 一些代码...

public class PacienteEntity
{
    public int key { get; set; }
    public string name { get; set; }
}

var records = (from x in context.ColumnList
where x.ColumnFamily == "paciente"
select x.ToObject<PacienteEntity>());

//remove null rows
var filteredRecords = records.ToList().Where(i => i != null);
dgView.DataSource = filteredRecords.ToList();
dgView.DataBind();

即使使用 autoGenerateColumns,rowkey 值也等于 0 欢迎任何帮助!

【问题讨论】:

    标签: c# asp.net cassandra


    【解决方案1】:

    我基本上通过CommandArgument 传递RowIndex 并使用它来检索DataKey 值,例如 在按钮上:

    CommandArgument=''

    关于服务器事件

    int rowIndex = int.Parse(e.CommandArgument.ToString());

    string val = (string)this.dgView.DataKeys[rowIndex]["myKey"];

    【讨论】:

      【解决方案2】:

      您需要在 Gridview 中设置数据键名称,如下所示

        <asp:gridview id="MyGridView" 
              datakeynames="Key"
              onselectedindexchanged="MyGridView_SelectedIndexChanged"
              runat="server">
      

      那么在您的活动中,您可以获得如下密钥

        void MyGridView_SelectedIndexChanged(Object sender, EventArgs e)
        {
          int index = MyGridView.SelectedIndex;
          var key =MyGridView.DataKeys[index].Value.ToString();
        }
      

      如果您已经有多个键,例如 DataKeyNames="Key,Name"

      您现在可以通过提供如下索引来访问每个 DataKey:

      string Key= MyGridView.DataKeys[index].Values[0].ToString();
      string Name= MyGridView.DataKeys[index].Values[1].ToString();
      

      不确定您的 DataSource 绑定,请执行以下操作,您需要映射正确的属性以在下面的代码中设置 Key 和 Name

      var records = context.ColumnList.Where(x=> x.ColumnFamily == "paciente")
                    .Select(p=> new PacienteEntity(){ Key = p.P_Key, Name =p.P_Name}).ToList();
      

      【讨论】:

      • Damith,事实上我无法显示对应于 'name id' 的 rowkey 值
      • 键 |姓名-------------------------------- 0 |卡洛斯·亨克斯
      • 达米斯,也许我可以说清楚。我只是想将数据绑定到gridview,但没有显示rowkey值。我不需要访问该值。分页工作正常。
      • @CarlosHenckes 您必须正确映射,我不知道您的类:),您需要将哪些字段映射为键和值?
      • ...像这样: public class PacienteEntity { public int key { get;放; } 公共字符串名称 { 获取;放; } } 抱歉,达米特,我是这个...学校项目的新手。
      猜你喜欢
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 2020-01-10
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2020-07-20
      相关资源
      最近更新 更多