C# 运行时的AspxGridView选择
我的页面上有一个C# 运行时的AspxGridView选择,c#,asp.net,aspxgridview,C#,Asp.net,Aspxgridview,我的页面上有一个aspxGridView,我在运行时创建列。我还添加了CommandColumn,并将ShowSelectCheckBox设置为true。但在我选择一行并单击按钮获取行值后,AspxGridView.Selection.Count返回0。我在AspxButtons上创建了这个GridView,单击事件也用于分页,在Page\u Init上创建GridView。下面是创建AspxGridView的代码: Colenter code hereorCollection colorCol
aspxGridView
,我在运行时创建列。我还添加了CommandColumn
,并将ShowSelectCheckBox
设置为true。但在我选择一行并单击按钮获取行值后,AspxGridView.Selection.Count
返回0
。我在AspxButtons上创建了这个GridView
,单击事件也用于分页,在Page\u Init上创建GridView
。下面是创建AspxGridView
的代码:
Colenter code hereorCollection colorCol = ConfAttributesManager.Instance
.GetColors();
if (colorCol.Count > 0)
{
GridViewDataTextColumn grdColorCodeColumn = new GridViewDataTextColumn();
grdColorCodeColumn.FieldName = "ColorCode";
GridViewDataTextColumn grdDescriptionColumn = new GridViewDataTextColumn();
grdDescriptionColumn.FieldName = "Description";
gv_Attributes.Columns.Clear();
gv_Attributes.Columns.Add(grdColorCodeColumn);
gv_Attributes.Columns.Add(grdDescriptionColumn);
GridViewCommandColumn grdCmdColumn = new GridViewCommandColumn();
grdCmdColumn.ShowSelectCheckbox = true;
grdCmdColumn.VisibleIndex = 0;
gv_Attributes.Columns.Add(grdCmdColumn);
gv_Attributes.DataSource = colorCol;
gv_Attributes.DataBind();
}
我不知道我在哪里会犯错
感谢您的帮助。您似乎没有指定行选择操作所需的ASPxGridView.KeyFieldName属性:
gv_Attributes.KeyFieldName = "ColorCode";
//gv_Attributes.KeyFieldName = Unique Key Field;
当您在运行时创建列时,您是每次都这样做,还是在if(!Page.IsPostback){}块中?如果您的任务只是选择当前行并在其上执行一些操作,那么为什么不呢;t使用RowCommand事件并检查commandname='select',然后获取当前行(类似于)@Mark i也在page_init创建列@SubFlash Dike,我不能使用该事件,因为用户首先选择他想要的行,然后单击按钮。所以,在我看来,这件事是没有用的。