Repeaterコントロール内からRadioButtonListを動的に設定しようとしたのは今回が初めてです。これまではあまりうまくいきません。しかし、私はバグに実行していますRepeaterコントロール内のデータベースからRadioButtonListを動的に設定する方法
protected void fillRepeater_onitembound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
sql = "select PurchaseTypeID,PurchaseType from PurchaseType";
object obj = null;
ds = obj.openDataset(sql);
ListItem li;
RadioButtonList rbtl = (RadioButtonList)e.Item.FindControl("radioatt");
if (rbtl != null)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
li = new ListItem();
li.Text = dt.Rows[i]["PurchaseType"].ToString();
li.Value = dt.Rows[i]["PurchaseTypeID"].ToString();
rbtl.Items.Add(li);
}
}
}
}
<asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="fillRepeater_onitembound">
<ItemTemplate>
<table style="width:100%;border: 1px solid black;">
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;">
Purchased:<asp:radiobuttonlist ID="rblPurchaseType" runat="server" RepeatDirection="Horizontal" TextAlign="Right" style="display:inline;"></asp:radiobuttonlist></td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
</table>
...
...
...
</asp:Repeater>
:
を「オブジェクト」が含まれていない私は、私はおそらくそれを書いた人のために働いているここで見つけるこのコードをしようとしています
'openDataset'の定義と 'openDataset'の拡張メソッドはありません 'オブジェクト'の型の最初の引数を受け入れることができました(使用しているディレクティブまたはアセンブリ参照がありませんか?)
何か問題がありますか?
UPDATE:
public DataTable LoadDataFromDatabase(string query)
{
DataTable dt = new DataTable();
using (SqlConnection connection = new SqlConnection(connStr))
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
try
{
adapter.Fill(dt);
}
catch (Exception ex)
{
//handle error if needed
}
}
return dt;
}
string myQuery = "SELECT PurchaseTypeID, PurchaseType FROM PurchaseType ORDER BY PurchaseType";
string rbtl = Repeater2.FindControl("rblPurchaseType");
rbtl.DataSource = LoadDataFromDatabase(myQuery);
rbtl.DataTextField = "PurchaseType";
rbtl.DataValueField = "PurchaseTypeID";
rbtl.DataBind();
お返事ありがとうございます。私がそれを正しくしていないので、私をさらに助けてください。 あらゆる種類のエラーが発生しています。上記のコードを更新しました。 – Kenny
'Repeater2.FindControl'とは別に大丈夫です。 ItemDataBoundイベント内で使用する場合は、e.Row.FindControlを使用する必要があります。 – VDWWD