我用对象数据源制作了一个gridview。我为Object Data Source创建了一个类,并在aspx页面中创建了gridview。
它运行得很完美,但我想制作,当我更新表时,有两个coloumn会变成下拉列表,而不是自由文本。
我不知道怎么做,你能不能给我一些例子。 这是我的对象数据源类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace quittance.Kelas
{
public class dalamkota_rincian_8:daftarproperti
{
public static List<daftarproperti> AmbilJadwal(string nomorSt)
{
List<daftarproperti> Listjadwal = new List<daftarproperti>();
string CS = ConfigurationManager.ConnectionStrings["nikita_app"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("xp_generatejadwal_dalamkota8", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramnoSt = new SqlParameter("@nomorSt", nomorSt);
cmd.Parameters.Add(paramnoSt);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
daftarproperti jadwal = new daftarproperti();
jadwal.tugasID = (int)rdr["tugasID"];
jadwal.nama = rdr["nama"].ToString();
jadwal.nip = rdr["nip"].ToString();
jadwal.gol = rdr["gol"].ToString();
jadwal.tgl_mulai = rdr["tgl_mulai"].ToString();
jadwal.tgl_selesai = rdr["tgl_selesai"].ToString();
jadwal.jumlahhari1 = rdr["jumlahhari1"] as int? ?? default(int);
Listjadwal.Add(jadwal);
}
}
return Listjadwal;
}
}
}
已连接对象数据源和Gridview。
<asp:ObjectDataSource ID="ds_dalamkota8_jadwal" runat="server" DeleteMethod="DeleteJadwal" InsertMethod="InsertJadwal" SelectMethod="AmbilJadwal" TypeName="quittance.Kelas.dalamkota_rincian_8" UpdateMethod="UpdateJadwal">
<DeleteParameters>
<asp:Parameter Name="tugasID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="nip" Type="String" />
<asp:Parameter Name="gol" Type="String" />
<asp:Parameter Name="kdlokasi" Type="Int32" />
<asp:Parameter Name="tgl_mulai" Type="String" />
<asp:Parameter Name="tgl_selesai" Type="String" />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter Name="nomorSt" SessionField="nomorst" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="tugasID" Type="Int32" />
<asp:Parameter Name="nip" Type="String" />
<asp:Parameter Name="gol" Type="String" />
<asp:Parameter Name="kdlokasi" Type="Int32" />
<asp:Parameter Name="tgl_mulai" Type="String" />
<asp:Parameter Name="tgl_selesai" Type="String" />
</UpdateParameters>
</asp:ObjectDataSource>
当我编辑时,我想让nip和gol coloumn变成下拉列表。我不知道如何使用对象数据源,我应该在Object Data Source类或aspx.cs页面中使用sqldatasource。 请给我一个例子/解释。
答案 0 :(得分:0)
你可以调用一个从页面加载事件中提供数据的方法,然后你可以将数据绑定到下拉列表
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = AmbilJadwal(nomorSt);
GridView1.DataBind();
}
}
下面给出了帮助链接,最有可能解决您的问题
Bind DropDownList in ItemTemplate of TemplateField in ASP.Net GridView