当前位置:首页 » 操作系统 » wpfdatagrid数据库

wpfdatagrid数据库

发布时间: 2022-08-26 21:13:38

1. C# WPF中DataGrid调用数据库的时候,发生下一条数据覆盖上一条数据,如下图两条if语句

你是直接 DataGrid.ItemsSource = datatable.DefaultView;
这样就是每次指定一个数据源, 他肯定是覆盖掉原有记录的。
就好比
int a;
if(xxx)
a =1 ;
if(yyy)
a =2 ;
他肯定不会输出3的。
如果需要累加的显示所有历史记录,有两种办法,
1、使用ObservableCollection 即WPF提供的动态通知类集合。

先指定DataGrid.ItemsSource = Data;
private ObservableCollection<Model.MyData> _data= null;
public IList<Model.MyData> Data
{
get { return _data?? (_data= new ObservableCollection<Model.MyData>()); }
}
每次需要查询数据库的时候Data.Add(新纪录) ; 不要去重复进行数据源绑定。
2、数据库查询时累加,
DataTable dt = new DataTable();
if(xxx)
//把查询的结果加入dt
dt.Rows.Add( newrow);
if(yyy)
dt.Rows.Add(newrow);

每次添加完 要重新绑定:DataGrid.ItemsSource = dt.DefaultView;

第二种方法效率比较低。

2. wpf datagrid数据库读取的列名如何改成中文

在DataGridView设置数据源绑定后,
设置DataGridView的属性HeaderText就可以了。
代码参考:
dataGridView.Columns[filedName].HeaderText
=
displayLabel
别的地方找的答案,不知道问的是不是这个,呵呵,另外双手奉上阿里云服务器券:网页链接

3. wpf中如何将datagrid控件绑定到数据库上呀

xaml中绑定:
<DataGrid Name="dataGrid1" >
<DataGridTextColumn Header="日期" Binding="{Binding Path=Date}"/>//table表中的字段
</DataGrid>
xaml.cs:
string con = "Provider=System.Data.sqlClient;Data Source=.;database=logistics;User ID=sa;Password=sa123";
SqlConnection sCon = new SqlConnection(con);
sCon .Open();
string sql = "select * from table";
DataTable dt = new DataTable();
SqlDataAdapter da=new SqDataAdapter(sql,sCon );
DataSet ds=new DataSet();
ds.Fill(ds,"dtName");
dataGrid1.ItemsSource = ds.Tables["dtName"].DefaultView;

4. WPF 如何将.dat数据流读入到程序datagird里,或写入数据库里

您好,这样:
private void dg1_Loaded(object sender, RoutedEventArgs e)
{
dg1.ItemsSource = SqlHelper2.ExecuteDataTable("select xm,mm,bm from z_qx").AsDataView();
}
可是有一个问题,在datagrid控件中显示的标题是数据库中的英文字段名称,
我想实现将标题改成中文的,并绑定相应额列,改如何实现
<DataGrid AutoGenerateColumns="False" x:Name="dg1" Loaded="dg1_Loaded">
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" ??? ></DataGridTextColumn>
<DataGridTextColumn Header="密码" ???>DataGridTextColumn>
<DataGridTextColumn Header="部门" ???></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
===================================================
<DataGrid AutoGenerateColumns="False" x:Name="dg1" Loaded="dg1_Loaded">
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding Path=name}" />
<DataGridTextColumn Header="密码" Binding="{Binding Path=pass}"/>
<DataGridTextColumn Header="部门" Binding="{Binding Path=dept}"/>
</DataGrid.Columns>
</DataGrid>

5. WPF中使用datagrid显示数据库里面的内容

这是一个小技巧啦。在Grid的最后一列,比如你图上的“password”列,将这个列的宽度不设定为固长,而是设为自适应宽度(*)就可以了。

6. WPF的DataGrid自动绑定数据库时最后的空列到底要怎么消除

将AutoGenerateColumns设置为false。然后在代码中手动生成不同表相对应的百分比列宽的与数据库表的列名对应的列。其余部分不变即可。

代码:

string attr = "";
dataDataGrid.AutoGenerateColumns = false;

MultiSecurity ms = new MultiSecurity();
OracleConnection oraCon = ms.CreateConnection("msdb", "maple", "manager");

foreach (string att in ms.getAttributes(tablename, oraCon)) //获取指定表的所有列
{
attr += att + ",";
dataDataGrid.Columns.Add(new DataGridTextColumn() { Header = att, Binding = new Binding(att), Width = new DataGridLength(2, DataGridLengthUnitType.Star) }); //为DataGrid生成百分比列宽的列,相当于xaml中设置Width = "2*"
}

attr = attr.Substring(0, attr.Length - 1);
sql = "select "+attr+" from " + node.Name; //生成查询指定列的sql语句
DataTable dt = ms.getData(sql, oraCon);
dataDataGrid.ItemsSource = dt.DefaultView; //将结果集绑定到DataGrid

7. WPF,datagridview显示数据库中的内容,为何总显示下面的错误呀,DataGrid哪里不对了呀~求高手指点,谢谢

DataGrid是控件类型,不是控件实体对象,所以会报错。
如果你在前台初始化了一个DataGrid。那么你在前台可以给这个DataGrid命名。
<DataGrid x:Name="Mydatagrid" ...>
后台就可以这么写 Mydatagrid.ItemsSource =...
如果你在后台初始化的DataGrid
如:DataGrid datagrid = new DataGrid ();
那么就可以这么设置属性:datagrid .ItemsSource =...

8. WPF中 Datagrid 绑定到数据库后如何对用户输入的数据进行验证

使用ValidationRule。以下为示例:

Binding testBinding = new Binding();
testBinding.ValidationRules.Add(new IPv4ValidationRule());//添加验证,根据数据类型添加不一样的验证类
testBinding.Mode = BindingMode.TwoWay;
testBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
testBinding.Path = new PropertyPath("[" + myTextBox.Name + "].Permit");//绑定源路径
testBinding.Source = dic; //绑定源,
myTextBox.SetBinding(TextBox.TextProperty ,testBinding );//绑定目标属性
数据验证也是加的数据验证类继承ValidationRule。

public class IPv4ValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
var str = value as string;
if (String.IsNullOrEmpty(str))
{
MessageBox.Show("请输入日期。");
//return new ValidationResult(false,
// "Please enter an IP Address.");
}
return new ValidationResult(true, null);
}
}

9. wpf中如何将datagrid控件绑定到数据库

给你找了个例子,是直接绑定到数据库里的table的
后台代码:
MKP.MyCommon.SQLHelper
sh
=
new
MKP.MyCommon.SQLHelper(null);
DataTable
dt=sh.GetDataTable("select
Fi_id,Fs_pCompanyName,Fs_phone,Fs_email
from
TpmCompany");
dataGrid1.ItemsSource
=
dt.DefaultView;
前台代码:
<pre
class="csharp"
name="code"><DataGrid
AutoGenerateColumns="False"
Height="153"
HorizontalAlignment="Left"
Name="dataGrid1"
VerticalAlignment="Top"
Width="449"
SelectedCellsChanged="dataGrid1_SelectedCellsChanged">
<DataGrid.Columns
>
<DataGridTextColumn
Header="ID"
Binding="{Binding
Path=Fi_id}"/>
<DataGridTextColumn
Header="公司名称"
Binding="{Binding
Path=Fs_pCompanyName}"/>
<DataGridTextColumn
Binding="{Binding
Path=Fs_phone}"
Header="电话"
/>
<DataGridTextColumn
Binding="{Binding
Path=Fs_email}"
Header="Email"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>

10. wpf datagrid 从数据库中删除选中复选框的记录

当数据定时,将id也绑定上,但不显示,当勾选复选框时,获取该行数据的id,然后根据id去数据库中删除数据

热点内容
数据库分页查询数据 发布:2025-05-15 15:45:13 浏览:520
phpmyadmin上传限制 发布:2025-05-15 15:39:52 浏览:431
如何给手机配置真正的电脑 发布:2025-05-15 15:39:52 浏览:764
抽脚本命令 发布:2025-05-15 15:39:45 浏览:659
sok编程 发布:2025-05-15 15:33:21 浏览:40
lms算法程序 发布:2025-05-15 15:31:53 浏览:569
数据库二级映射 发布:2025-05-15 15:14:09 浏览:477
3d文件加密 发布:2025-05-15 15:05:17 浏览:362
jquery拖拽上传图片 发布:2025-05-15 14:53:36 浏览:130
我的世界电脑服务器需要正版吗 发布:2025-05-15 14:38:53 浏览:695