Apache Cassandra gridView issues

本文关键字:issues gridView Cassandra Apache | 更新日期: 2023-09-27 18:14:18

我无法从Apache-Cassandra获得gridview上显示的rowkey值。一些代码…

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();

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

Apache Cassandra gridView issues

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

CommandArgument = ' & lt; % # DataBinder。Eval(Container, "RowIndex") %>'

关于服务器事件

int rowIndex = int. parse (e.c emanagument . tostring ());

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

你需要像下面这样在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"

您现在可以通过提供其索引来访问每个DataKeys,如下所示:

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

不确定你的数据源绑定,请按照下面的操作,你需要映射正确的属性来设置键和名称在下面的代码

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