Hallo Ich möchte meine gridview von einer Datentabelle binden, die ich selbst erstelle.Bind Gridview mit Artikeln asp.net
Es funktioniert, aber meine Spalten sind doppelt, ich verstehe nicht genau warum.
Hier ist meine 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>
Und hier ist es ein Teil meines cs Code:
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();
}
Wie es zu beheben? Ich denke, wenn ich meine Gridview fessele, nehme ich meine zwei "dt.columns.add". Ich will nur mein calculName Feld und mein Result Checkbox halten
Danke für Ihre Hilfe
stellen Sie sicher, dass Ihre automatisch generierten Spalten auf false gesetzt ist. auch auf die Bind() -Methode fügen Sie dies als Ihre erste Zeile 'GvCalculSelect.DataSource = null;' – MethodMan