我有0
持有我的订单表(这些是插入语句中插入的值)。订单表显示在医生页面上,但我想添加它以便批准/取消批准(如果已选中,则将“批准”列更新为已批准,如果未选中,则更新“批准”列以不批准.I我需要在GridView
添加CheckBox
列。这是我学习的一部分(不是实时网站)。
如何向GridView
添加一列复选框,以便在选中时设置要批准/未批准的行?
这是我的订单表 - (所有数据都是虚拟数据)
网格:
GridView
在网格上显示数据
<asp:GridView ID="GridViewdoc" runat="server" >
</asp:GridView>
我的select语句提取数据:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim conn As New System.Data.SqlClient.SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\surgerydb.mdf;Integrated Security=True;Connect Timeout=30")
Dim cmd3string As String = " Select * From alltheview WHERE DoctorId = " & Session("DoctorId")
Dim dt As New System.Data.DataTable()
Dim da As New System.Data.SqlClient.SqlDataAdapter(cmd3string, conn)
conn.Open()
da.Fill(dt)
conn.Close()
GridViewdoc.DataSource = dt
GridViewdoc.DataBind()
End If
End Sub
订单表现在看起来如何(顺便说一下,这是所有虚拟数据:
一个按钮。然后,click事件将提交选中的值 如果有人需要关于这个问题的更多信息,请告诉我。
答案 0 :(得分:1)
试试这个。它在C#中,但你应该能够很容易地计算出VB.Net。
顺便说一下,我会把你的代码用自己的方法加载你的数据。一旦批准更新,我建议重新加载网格视图。
ASPX:
<asp:GridView ID="GridViewdoc" DataKeyNames="OrderId" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField HeaderText ="Order Id" DataField="OrderId" />
<asp:BoundField HeaderText ="Patient Id" DataField="PatientId" />
<asp:BoundField HeaderText ="Medicine Id" DataField="MedicineId" />
<asp:BoundField HeaderText ="Pharmacy Id" DataField="PharmacyId" />
<asp:BoundField HeaderText ="Doctor Id" DataField="DoctorId" />
<asp:BoundField HeaderText ="Date Ordered" DataField="Dateordered" />
<asp:TemplateField HeaderText="Approve/Unapprove">
<ItemTemplate>
<asp:CheckBox ID="chkApproved" AutoPostBack="true" Checked='<%# Eval("Approved") == null || Eval("Approved") == DBNull.Value ? false : Eval("Approved") %>' runat="server" OnCheckedChanged="chkApproved_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码背后:
protected void chkApproved_CheckedChanged(object sender, EventArgs e)
{
CheckBox chkApproved = (CheckBox)sender;
GridViewRow gridViewRow = (GridViewRow)chkApproved.Parent.Parent;
int orderID = (int)GridViewdoc.DataKeys[gridViewRow.RowIndex].Value;
bool approved = chkApproved.Checked;
//Your update method
UpdateApproved(orderID, approved);
//Your data load method
LoadData();
}