c# - 网格视图以动态添加行,但在插入时获取空白值
问题描述
最近我更改了我的 GridView,以便它能够动态添加行。问题是,当我插入数据时,我首先得到的是空白值。
我无法获取 label.text 的详细信息,但能够第一次获取文本框的值。当循环继续时,我从标签中获得 1 行值,从文本框中获得 2 行值。
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
TableHeaderCell cell = new TableHeaderCell();
cell.Text = "Details";
cell.ColumnSpan = 3;
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.Text = "Year 2018";
cell.ColumnSpan = 4;
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 4;
cell.Text = "Year 2019";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.Text = "Others";
cell.ColumnSpan = 3;
row.Controls.Add(cell);
这是提交代码..
Label CenterId = (Label)row.FindControl("CenterId") as Label;
string CenterId_no = Convert.ToString(CenterId.Text);
// Label lbl_lastyear_beforedate = (Label)row.FindControl("lbl_lastyear_beforedate") as Label;
// float PY_Bdte = float.Parse(lbl_lastyear_beforedate.Text);
TextBox txt_lastyearonDate = (TextBox)row.FindControl("txt_lastyearonDate") as TextBox;
float py_ondte = float.Parse(txt_lastyearonDate.Text);
解决方案
我刚刚通过为绑定时的DataRow
所有列添加一个来解决这个问题:GridView
DataRow dr = dt.NewRow();
dr["col1"] = 0;
dr["col2"] = 0;
dt.Rows.InsertAt(dr, 0);
在提交代码时:
if (row.RowIndex>0)
{
// getting the all values and inserted..
}
推荐阅读
- objective-c - 在测试 iOS Swift 时访问只读属性
- selenium - Java 8 Streams:分阶段映射
- soap - Lost attribute after serialization while building XML request
- fpga - SHA1 哈希 FPGA 性能
- kubernetes - 来自 cAdvisor 的 Kubernetes 配额限制输入
- keras - 如何将可训练权重的张量添加到 Keras 张量?
- vba - 模块Excel VBA之间的冲突
- apache-spark - 使用自定义映射 ID 从 spark 写入弹性搜索时出错
- javascript - 如何在 JavaScript 中更改对象数组中元素的值?
- ios - Firebase 静默通知不会启动已关闭的 iOS 应用