GridViewにRadioButtonとCreditCardListのデータを入力しようとしています。しかし、それは各フィールドの列を2倍にしています...列の1つの完全なセットと別の完全なセット(RadioButtonを除く)私はcreditCardList.items.Countをチェックし、それがちょうど1(それは)であることを確認しました。私は間違って何をしていますか?GridViewのダブルカラム、C#のコードの背後に構築
ASPX:背後
<asp:GridView ID="gvCards" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Sel">
<ItemTemplate>
<asp:RadioButton ID="Sel" runat="server" GroupName="rad" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Customer ID" />
<asp:BoundField DataField="Card ID" HeaderText="Card ID" />
<asp:BoundField DataField="Card Number" HeaderText="Card Number" />
<asp:BoundField DataField="Expiration" HeaderText="Expiration" />
<asp:BoundField DataField="State" HeaderText="State" />
</Columns>
</asp:GridView>
コード:
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Customer ID", typeof(string));
dt.Columns.Add("Card ID", typeof(string));
dt.Columns.Add("Card Number", typeof(string));
dt.Columns.Add("Expiration", typeof(string));
dt.Columns.Add("State", typeof(string));
for (var i = 0; i < creditCardList.items.Count; i++)
{
DataRow row1 = dt.NewRow();
row1["Name"] = creditCardList.items[i].first_name + " " + creditCardList.items[i].last_name;
row1["Customer ID"] = creditCardList.items[i].external_customer_id;
row1["Card ID"] = creditCardList.items[i].id;
row1["Card Number"] = creditCardList.items[i].number;
row1["Expiration"] = creditCardList.items[i].expire_month + "/" + creditCardList.items[i].expire_year;
row1["State"] = creditCardList.items[i].state;
dt.Rows.Add(row1);
}
gvCards.DataSource = dt;
gvCards.DataBind();
出力: Selの名刺IDカード番号の有効期限州名顧客IDカードIDカード番号の有効期限州 スティーブ・リケッツ%の40LDNのCONカード-3F3 xxxxxxxxxxx1000 3/2020 ok Steve Ricketts%40LDN CONカード-3F3 xxxxxxxxxxx1000 3/2020 ok
私はaspを知りませんが、列を自動生成するオプションがありますか?はいの場合は、それを無効にしてください – Mafii