Untitled
unknown
dart
2 years ago
12 kB
15
Indexable
import 'package:flutter/material.dart';
class Anasayfa extends StatefulWidget {
const Anasayfa({super.key});
@override
State<Anasayfa> createState() => _AnasayfaState();
}
String? dropdownValue; // İlk değer için bir örnek
DateTime selectedDate = DateTime.now();
class _AnasayfaState extends State<Anasayfa> {
@override
Widget build(BuildContext context) {
Future<void> _selectDate(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(2000),
lastDate: DateTime(2025),
);
if (picked != null && picked != selectedDate) {
setState(() {
selectedDate = picked;
});
}
}
final genislik = MediaQuery.of(context).size.width;
final yukseklik = MediaQuery.of(context).size.height;
Orientation orientation=MediaQuery.of(context).orientation;
return Scaffold(
body: SafeArea(
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 5),
color:Colors.white,
child: Column(
children: [
Card(
color: Colors.white,
shape: const RoundedRectangleBorder(),
child: SizedBox(
height: yukseklik*0.1,
child: Row(
children: [
Expanded(flex:20,child:
Text(
orientation==
Orientation.portrait? "İşlem"
" Türü" :
"İşlem Türü"
,textAlign: TextAlign.center,)),
const Expanded(flex:20,child: Text("Tarih",textAlign: TextAlign.center)),
const Expanded(flex:20,child: Text("Adet",textAlign: TextAlign.center)),
const Expanded(flex:20,child: Text("Birim Fiyat",textAlign: TextAlign.center)),
const Expanded(flex:20,child: SizedBox()),
],
),
),
),
SingleChildScrollView(
child:SizedBox(
height: yukseklik*0.6,
child: ListView.builder(
itemCount: _employeeDataSource.length,
itemBuilder: (context, index , ) {
return InkWell(
onTap: (){
print("bastım");
},
child: _borsaCard(index, yukseklik));
},),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: _hesaplaButton(),
)
],
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Form'),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
TextButton(
onPressed: () => _selectDate(context),
child:
Text("${selectedDate.toLocal()}".split(' ')[0]),
),
Expanded(
child: DropdownButtonFormField<String>(
decoration: InputDecoration(
hintText: 'İşlem Türü',
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(10),
),
filled: true,
fillColor: Colors.white,
),
value: dropdownValue,
onChanged: (String? newValue) {
setState(() {
dropdownValue = newValue!;
});
},
items: <String>['Alış', 'Satış']
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
),
),
SizedBox(height: yukseklik * 0.05),
Expanded(
child: TextFormField(
cursorColor: Colors.black,
decoration: InputDecoration(
hintText: 'Hisse Adeti',
hintStyle: const TextStyle(
color: Colors.grey,
),
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(10),
),
filled: true,
fillColor: Colors.white,
),
),
),
SizedBox(height: yukseklik * 0.05),
Expanded(
child: TextFormField(
decoration: InputDecoration(
hintText: 'Hisse Fiyat',
hintStyle: const TextStyle(
color: Colors.grey,
),
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(10),
),
filled: true,
fillColor: Colors.white,
),
),
),
],
),
),
actions: <Widget>[
TextButton(
child: const Text('İptal'),
onPressed: () {
Navigator.of(context).pop();
},
),
TextButton(
child: const Text('Tamam'),
onPressed: () {
// Tamam butonuna basıldığında yapılacak işlemler
Navigator.of(context).pop();
},
),
],
);
},
);
},
child: const Icon(Icons.add),
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
),
);
}
ElevatedButton _hesaplaButton() {
return ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blue,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10))
)
),
onPressed: () {
}, icon: Icon(Icons.query_stats,color: Colors.white,),
label:Text("Hesapla",style: TextStyle(color: Colors.white),));
}
Card _borsaCard(int index, double yukseklik) {
return Card(
color: (index % 2 == 0) ? Colors.white54 : Colors.white24,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(8))
),
child: SizedBox(
height: yukseklik*0.1,
child: Row(
children: [
Expanded(flex:20,child: Text(_employeeDataSource[index].tur,textAlign: TextAlign.center,)),
Expanded(flex:20,child: Text(_employeeDataSource[index].tarih,textAlign: TextAlign.center)),
Expanded(flex:20,child: Text(_employeeDataSource[index].adet,textAlign: TextAlign.center)),
Expanded(flex:20,child: Text(_employeeDataSource[index].fiyat.toString(),textAlign: TextAlign.center)),
Expanded(flex:20,child: IconButton(
onPressed: () {
setState(() {
_employeeDataSource.removeAt(index);
});
},
icon: const Icon(Icons.delete,color: Colors.red,),
)),
],
),
),
);
}
}
class Employee {
Employee(this.tur, this.tarih, this.adet, this.fiyat);
final String tur;
final String tarih;
final String adet;
final double fiyat;
}
List<Employee> _employeeDataSource = [
Employee('Alış', '25.02.2022', '10', 205.94),
Employee('Satış', '25.04.2023', '15', 205.94),
Employee('Alış', '25.01.2023', '13', 205.94),
Employee('Satış', '25.08.2021', '23', 205.94),
Employee('Alış', '25.07.2023', '7', 205.94),
Employee('Satış', '25.09.2024', '19', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
Employee('Alış', '25.05.2022', '26', 205.94),
// Add more employees as needed
];
Editor is loading...
Leave a Comment