Hej, jag undrar hur man tilldelar footer-raden i en datagrid ett värde. /Göran Ett värde? från ex Databasen? Jag har en datatable som jag fyller på med värden från databasen. plain skulle det vara. :-) skrev lite fel. OK. Jag försöker med något typ det här: Får du fel på båda raderna? har du testat bara Column index 0? får du fel i vilket fall? Felet blir på första raden: Mysko. Och data får du ut annars? Datagrid1.columns.count är 0Footer-värde i datagrid
Sv: Footer-värde i datagrid
I En footer kan du bara ha plian text samt andra controller.
//Johan NSv: Footer-värde i datagrid
Skapar först kolumner, läser sen mha datareader databasvärdena
och skriver dem sedan rad för rad i datatablen samtidigt som vissa
värden summeras. Summeringsraden lägger jag sedan sist i data-
tablen och binder den sedan till datagriden. Det skulle vara snyggt
att få summeringsraden i footern eftersom den har särskild bg-färg.
/Göran
Vad betyder plian förresten?Sv: Footer-värde i datagrid
I footern kan du bara ha ren text samt andra controller.
Så om du kan lägga din summering i en texbox controll så kan du ha den i footern...
typ...
//Johan NSv: Footer-värde i datagrid
I mitt webformulär har jag en button1 och en datagrid1 med showfooter=true. Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conSQL As New SqlClient.SqlConnection()
Dim cmdSQL As New SqlClient.SqlCommand()
Dim datRead As SqlClient.SqlDataReader
Dim ds As DataSet = New DataSet("A")
Dim dt As DataTable = ds.Tables.Add("B")
Dim rad(1) As String
cmdSQL.Connection = conSQL
conSQL.ConnectionString = "Integrated Security=true; Data Source=ABC; Initial Catalog=Pubs;"
conSQL.Open()
dt.Columns.Clear()
dt.Columns.Add("Förnamn")
dt.Columns.Add("Efternamn")
cmdSQL.CommandText = "Select * from authors"
datRead = cmdSQL.ExecuteReader
dt.Rows.Clear()
Do While datRead.Read
rad(0) = CStr(datRead("au_fname"))
rad(1) = CStr(datRead("au_lname"))
dt.Rows.Add(rad)
Loop
datRead.Close()
DataGrid1.DataSource = dt
DataGrid1.DataBind()
DataGrid1.Columns(0).FooterText = "X"
DataGrid1.Columns(1).FooterText = "Y"
End Sub
Det blir fel på de två sista raderna för att .Columns är tom trots att griden visas rätt
Vad gör jag för fel och hur bör det se ut istället?
Förhandstack! GöranSv: Footer-värde i datagrid
//Johan NSv: Footer-värde i datagrid
DataGrid1.Columns(0).FooterText = "X"
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
/GöranSv: Footer-värde i datagrid
Kolla hur många columner den tror att du har.
//Johan NSv: Footer-värde i datagrid
Såg att man kan skapa kolumner i design-läget och ge värden till header- och
footer-text. Men de kolumnerna fylls inte med värden när man databinder.
/Göran