Я захватываю некоторые записи из базы данных в зависимости от номера идентификатора страницы, количество отображаемых записей будет меняться в любом месте на 1 запись до 50. Мне нужно взять эти записи, затем выбрать какие из них я буду изменять, удалять или не изменяться вообще. Я хотел бы, чтобы выглядеть следующим образом:Включить текстовое поле при изменении SelectedIndex
Не удается получить изображение, чтобы показать с StackOverflow изображения пользователя так здесь: https://dl.dropboxusercontent.com/u/9446763/code/dropdownlist.jpg
Я хотел бы текстовые поля, которые будут отключены, если не выбраны Изменить или Удалить и поля разрешены для пересмотра, если выбран вариант «Изменить».
Ниже приведено то, что у меня есть до сих пор, . Часть, с которой я борюсь, является выбранным изменениемindindex. Я не знаю, как ее закодировать, так что, когда в раскрывающемся списке выбран параметр «Изменить», соответствующие текстовые поля становятся доступными.
ASPX страница
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
CS Page
private void createControls()
{
var id = Request.Params["ID"];
System.Data.OleDb.OleDbConnection pcn;
System.Data.OleDb.OleDbCommand pcm;
System.Data.OleDb.OleDbDataReader prs;
pcn = new System.Data.OleDb.OleDbConnection("");
pcm = new System.Data.OleDb.OleDbCommand();
pcn.Open();
pcm.Connection = pcn;
var tableSql = @"select * FROM grouplist where ptid = '" + id + "'";
pcm.CommandText = tableSql;
prs = pcm.ExecuteReader();
var rowcount = 0;
while (prs.Read())
{
rowcount++;
PlaceHolder1.Controls.Add(new Literal() { Text = "<div class='row'><div class='span3'>" });
TextBox tx = new TextBox();
tx.ID = "txtData" + rowcount.ToString();
tx.Text = prs["name"].ToString().Trim();
tx.Width = 200;
tx.CssClass = "span2";
tx.Enabled = false;
PlaceHolder1.Controls.Add(tx);
PlaceHolder1.Controls.Add(new Literal() { Text = "</div><div class='span2'>" });
TextBox txa = new TextBox();
txa.ID = "amtData" + rowcount.ToString();
txa.Text = prs["amt"].ToString();
txa.CssClass = "span2";
txa.Enabled = false;
PlaceHolder1.Controls.Add(txa);
PlaceHolder1.Controls.Add(new Literal() { Text = "</div><div class='span3'>" });
DropDownList ddl = new DropDownList();
ddl.Items.Add("No Change");
ddl.Items.Add("Modify");
ddl.Items.Add("Remove");
ddl.Width = 200;
ddl.CssClass = "span2";
ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
ddl.AutoPostBack = true;
ddl.ID = "ddlData" + rowcount.ToString();
PlaceHolder1.Controls.Add(ddl);
PlaceHolder1.Controls.Add(new Literal() { Text = "</div></div>" });
}
prs.Close();
}
void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
}
Почему вы не используете 'GridView' или' Repeater'? – Logar314159
Я новичок в этом, поэтому, я думаю, мне придется проверить это, я никогда не использовал их раньше. – techora