如何使新添加的未绑定列值自动编号变为静态?
How to make the new added unbound column value auto number become static?
首先,我在 GridView
中创建了一个未绑定的列(使用 DevExpress):
public void buttonl_Click(object sender, EventArgs e)
{
//GridColumn clmn = gridaaa.Columns["code"];
if (gridaaa.Columns.ColumnByFieldName("idx") != null)
{
gridaaa.Columns.ColumnByFieldName("idx").Dispose();
}
GridColunn unbColumn2 = gridaaa.Columns.AddField("idx");
unbColumn2.VisibleIndex = gridaaa.Columns.Count;
unbColumn2.UnboundType = DevExpress.Data.UnboundColumnType.Integer;
//// Disable editing.
unbColumn2.OptionsColunn.AllowEdit = false;
// gridaaa.Columns.ColumnByFieldName("idx").Dispose();
}
在gridView1_CustomUnboundColumnData
事件中我使用了这段代码
private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
if (e.Column.FieldName == "idx")
{
e.Value = e.ListSourceRowIndex;
}
}
输出或结果是:
问题是当我在任何列中单击排序时如何使索引或 idx 列值变为静态 header。正如您所看到的,当我单击 genre header 时,该值跟随数据库中的代码或索引,每当我继续单击 genre 的列 header 或任何内容时,我想让它像从 0 开始的自动编号:
您可以使用ColumnView.GetRowHandle
方法获取当前行的句柄,它总是从上到下反映到GridView
中行的位置。
示例如下:
private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
if (e.Column.FieldName == "idx")
e.Value = gridView1.GetRowHandle(e.ListSourceRowIndex);
}
首先,我在 GridView
中创建了一个未绑定的列(使用 DevExpress):
public void buttonl_Click(object sender, EventArgs e)
{
//GridColumn clmn = gridaaa.Columns["code"];
if (gridaaa.Columns.ColumnByFieldName("idx") != null)
{
gridaaa.Columns.ColumnByFieldName("idx").Dispose();
}
GridColunn unbColumn2 = gridaaa.Columns.AddField("idx");
unbColumn2.VisibleIndex = gridaaa.Columns.Count;
unbColumn2.UnboundType = DevExpress.Data.UnboundColumnType.Integer;
//// Disable editing.
unbColumn2.OptionsColunn.AllowEdit = false;
// gridaaa.Columns.ColumnByFieldName("idx").Dispose();
}
在gridView1_CustomUnboundColumnData
事件中我使用了这段代码
private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
if (e.Column.FieldName == "idx")
{
e.Value = e.ListSourceRowIndex;
}
}
输出或结果是:
问题是当我在任何列中单击排序时如何使索引或 idx 列值变为静态 header。正如您所看到的,当我单击 genre header 时,该值跟随数据库中的代码或索引,每当我继续单击 genre 的列 header 或任何内容时,我想让它像从 0 开始的自动编号:
您可以使用ColumnView.GetRowHandle
方法获取当前行的句柄,它总是从上到下反映到GridView
中行的位置。
示例如下:
private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
if (e.Column.FieldName == "idx")
e.Value = gridView1.GetRowHandle(e.ListSourceRowIndex);
}