【发布时间】:2016-03-21 15:10:24
【问题描述】:
您好,我想从我自己创建的数据表中绑定我的 gridview。
这是可行的,但我的列是重复的,我不明白为什么。
这是我的网格视图:
<asp:GridView runat="server" ID="GvCalculSelect" CssClass="gridView" HorizontalAlign="Center">
<Columns>
<asp:BoundField DataField="CalculName" HeaderText="CalculName" />
<asp:TemplateField HeaderText="ResultValue">
<ItemTemplate>
<asp:CheckBox ID="CbResultValue" runat="server" Checked='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "ResultValue").ToString()) %>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是我的cs代码的一部分:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}
protected void BindGrid()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("CalculName", typeof(string)));
dt.Columns.Add(new DataColumn("ResultValue", typeof(Boolean)));
dt.Rows.Add("Test", true);
GvCalculSelect.DataSource = dt;
GvCalculSelect.DataBind();
}
如何解决?我认为当我绑定我的 gridview 时,我的两个“dt.columns.add”正在运行。我只想保留我的 calculName 字段和我的 resultValue 复选框
感谢您的帮助
【问题讨论】:
-
确保您的自动生成列设置为 false。同样在 Bind() 方法上添加这个作为你的第一行
GvCalculSelect.DataSource = null;