Antingen med en CheckBoxList eller så hittar du på en egen lösning med t.ex en repeater eller liknande. Men jag skulle föredra CheckBoxList som är otroligt smidigt.
Du vill binda en CheckBoxList inne i en DataGrid? I så fall skapar du en funktion som retunerar datan som ska vara i CheckBoxListen och anropar den funktion från DataSource='<%# minfunktion %>'
Du vill binda en CheckBoxList inne i en DataGrid? I så fall skapar du en funktion som retunerar datan som ska vara i CheckBoxListen och anropar den funktion från DataSource='<%# minfunktion %>'
Har ingen färdig kod att visa dock...
Men då får han en checkboxlist för varje item... Antingen har du en datagrid med en checkbox för varje rad, eller så har du bara en checkboxlist utan en datagrid (om du inte ska ha flera checkboxar för varje item i din datagrid förstås).
Släng in en checkbox i en itemtemplate, sedan är det nog lättast om du till varje namn har en kolumn med en bool kopplad som du fyller datagriden med och sedan vidare till checkboxen:
Du behöver inte ha något namn på dem. För att veta vilken checkbox som kryssas i/ur så kollar du istället vilket item i din datagrid som startade eventet! Kan vara smidigt att sätta autopostback="true" på din checkbox däremot. :)
Så här gjorde jag på en liknande funktion förresten, kanske kan ge någon idé:
<ItemTemplate>
<asp:CheckBox id="memberCheck" AutoPostBack="True" Enabled="true" OnCheckedChanged="CheckedChanged" Checked='<%# DataBinder.Eval(Container.DataItem, "bool") %>' Runat="server"></asp:CheckBox>
</ItemTemplate>
protected void CheckedChanged(object sender, System.EventArgs e) {
//På vilken rad checkboxen du tryckte på finns
int Row = ((DataGridItem)((CheckBox.sender).Parent.Parent).ItemIndex;
//vilken du sedan kan använda för att ex ta ut en datakey (i detta fallet id för den rad jag ville uppdater)
int myID = (int)MyDataGrid.DataKeys[Row];
}
Public row As Integer
public check_id As Integer
Public Sub insert(ByVal sender As Object, ByVal e As EventArgs)
row = ((DataGridItem)((CheckBox.sender).Parent.Parent).ItemIndex)
check_id = datagrid1.DataKeys(row)
End Sub
men visual studio klagar på DataGridItem och checkbox.sender
DataGridItem' is a type and cannot be used as an expression.
och
sender is not a member of 'System.Web.UI.WebControls.CheckBox'.
Public Sub insert(ByVal sender As Object, ByVal e As EventArgs)
'Dim tbmatchid As TextBox = e.Item.FindControl("match_id")
'Dim matchid As String = tbmatchid.Text
'Dim dplkapten As DropDownList = e.Item.FindControl("tbkapten")
'Dim kapten As Integer = CInt(dplkapten.SelectedItem.Value)
'Dim dplFemma As DropDownList = e.Item.FindControl("femma")
'Dim femma As Integer = CInt(dplFemma.SelectedItem.Value)
'Dim dplposition As DropDownList = e.Item.FindControl("position")
'Dim position As Integer = CInt(dplposition.SelectedItem.Value)
'Dim spelar As CheckBox = e.Item.FindControl("spelar")
'Dim checkid As Integer = datagrid1.DataKeys(CType(e.Item.ItemIndex, Integer))
Dim myDataGridItem As DataGridItem
Dim spelar As System.Web.UI.WebControls.CheckBox
Dim strStoreID As String
Dim strStoreName As String
Dim lblStatus As Label
For Each myDataGridItem In datagrid2.Items
spelar = myDataGridItem.FindControl("spelar")
If spelar.Checked Then
strStoreName = CType(myDataGridItem.FindControl("namn"), Label).Text
lblStatus.Text += "namnet <b>" & strStoreName & "</b>"
End If
Next
'Response.Write(checkid)
'Dim objcmd1 As New OleDbCommand _
' ("SELECT * from trupper where id = " & checkid & "", objconn)
' Dim dr As OleDbDataReader
' objconn.Open()
' Dim id1 As String
' If dr.Read() = True Then
' spelar_id = dr("id")
' lag_id = dr("lag_id")
' nummer = dr("nummer")
' If spelar.Checked = True Then
' Dim strsql As String = "insert into matchprotokoll_spelare(match_id,lag_id,spelar_id,nummer,position, femma,kapten) values (" & matchid & "," & lag_id & "," & spelar_id & "," & nummer & "," & position & "," & femma & ",'" & kapten & "')"
' Dim objcmd As New OleDbCommand(strsql, objconn)
' objconn.Close()
' objcmd.Connection.Open()
' objcmd.ExecuteNonQuery()
' objcmd.Connection.Close()
' Else
' 'Ta(bort)
' End If
'End If
End Sub
Jag får inga felmeddelanden men det skrivs inte ut något.
Någon som kan se något fel?
147 ms totalt · 2 externa anrop · v20260731065814-full.2ae45ccc