【发布时间】:2017-09-08 11:27:54
【问题描述】:
我正在使用我的 gridview 构建一个流程,允许用户提供一次编辑并将其保存到多个记录中。到目前为止,我已经完成了这一计划,但不确定如何构建一组记录 ID 以包含在此编辑中。
这就是我现在正在做的事情......
- 向我的网格视图添加一个模板字段,该字段提供一个复选框(完成!)
- 为网格中的所有列标题提供一个 DropDownList,并将源表列名称关联为 DDL 中条目的值。
- 在 DDL 上选择一个项目时,OnSelectedIndexChanged 会弹出一个编辑窗口来编辑 DDL 中所选列的内容。
- “保存”后,CodeBehind 将旋转数组,将相同的值写入下拉列表中选择的列中的每一行。
- 考虑到这一点,我相信我会为焦点列捕获数组中第一条记录中的数据,以便提供一种编辑列中现有内容的方法。
除了 GridView 中的 CheckBox 之外的所有内容都将在 GridView 之外进行处理,完成后 GridView 将被重绘,清除 CheckBox 并在那些被修改的单元格中显示更新的列值。
为了理解我在这里修改的内容,我提供了 GridView 左侧的屏幕截图:
关于从 CheckBoxes 构建数组的想法?
更新时间:2017 年 4 月 13 日下午 1 点美国中部
添加我添加的代码以从下面的示例 #2 的 CheckBoxes 中处理数组的填充...
protected void ColumnSelectDDL_TextChanged(object sender, EventArgs e)
{
foreach (GridViewRow row in ActVulListGV.Rows)
{
var ri = -1;
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chk = (row.Cells[0].FindControl("chkid") as CheckBox);
if (chk.Checked)
{
// Create and append your array here
var recnumbers = new int[0];
++ri;
{
Label REC = (row.Cells[1].FindControl("RecID") as Label);
recnumbers[ri] = Convert.ToInt32(REC.Text);
}
recnumbers.ToList().ForEach(i => Console.WriteLine(i.ToString()));
}
}
}
}
【问题讨论】:
标签: c# asp.net arrays gridview checkbox