Asp.net'te ListView içinde DropDownList kullanımı ve kayıt durumuna göre DropDownList'i seçili yapma
protected void lvListe_ItemDataBound(object sender, ListViewItemEventArgs e)
{
DropDownList dropIzinTipi = (DropDownList)e.Item.FindControl("dropIzinTipi");
if (e.Item.ItemType == ListViewItemType.DataItem)
{
dropIzinTipi.Items.Clear();
VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
DataTable dt = islem.IzinTipiListe();
dropIzinTipi.Items.Add(new ListItem("Seçiniz..", "0"));
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
string no = dr["IzinTipId"].ToString();
string ad = dr["IzinTipAd"].ToString();
dropIzinTipi.Items.Add(new ListItem(ad, no));
}
dt.Dispose();
}
//seçili yap
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
DataRowView rowView = (DataRowView)dataItem.DataItem;
string kayitliIzinTipi = rowView["IzinTipi"].ToString(); //listview kontrolünde listeleme yapılırken veri kaynağı olarak gösterilen DataTable'da "IzinTipi" adında bir alan olduğunu ve o alanda eğer varsa tanımlanmış olan "IzinTipId" lerinin bulunduğunu düşündük.
dropIzinTipi.SelectedValue = kayitliIzinTipi;
}
ListtView kontrolünün tasarım tarafındaki durumu
<asp:ListView ID="lvListe" runat="server" OnPagePropertiesChanged="lvListe_PagePropertiesChanged" OnItemDataBound="lvListe_ItemDataBound">
<ItemTemplate>
<tr>
<td><%#Eval("PersonelTanimId") %></td>
<td><%#Eval("AdSoyad") %></td>
<td>
<asp:TextBox ID="txtGiris" runat="server" CssClass="inputEdit" Text='<%#Eval("Giris").ToString().Length>4 ? Eval("Giris").ToString().Substring(0, 5) : Eval("Giris") %>'></asp:TextBox><asp:HiddenField ID="hfPersonelTanimId" runat="server" Value='<%#Eval("PersonelTanimId") %>' />
</td>
<td>
<asp:TextBox ID="txtCikis" runat="server" CssClass="inputEdit" Text='<%#Eval("Cikis").ToString().Length>4 ? Eval("Cikis").ToString().Substring(0, 5) : Eval("Cikis") %>'></asp:TextBox></td>
<td><%#Eval("GirisFark") %></td>
<td><%#Eval("CikisFark") %></td>
<td><%#Eval("CalismaSure") %></td>
<td><%#Eval("GrupAd") %></td>
<td><asp:DropDownList ID="dropIzinTipi" runat="server" CssClass="input"></asp:DropDownList></td>
<td style="text-align: right;"><%#Eval("IzinId").ToString()!=String.Empty ? "<a href=\"IzinDetay.aspx?izinId="+Eval("IzinId") +"\" class=\"buton gri various\" data-fancybox-type=\"iframe\" title=\"İzin Bilgi\"><i class=\"fa fa-child\"></i></a>" : "" %><asp:HiddenField ID="hfIzinId" runat="server" Value='<%#Eval("IzinId") %>' /></td>
</tr>
</ItemTemplate>
</asp:ListView>