小编Joo*_*ooj的帖子

如何使用sql语句中的列绑定dataGridView预定义列(不添加新列)?

有一种优雅的方法,将预定义的dataGridView列与SQL语句的结果绑定在一起吗?

例:

dataGridView1.Columns.Add("EID", "ID");
dataGridView1.Columns.Add("FName", "FirstName");
Run Code Online (Sandbox Code Playgroud)

有些SQL喜欢

SELECT t.FirstName AS FName, t.EmpID AS EID 
FROM table t ...
Run Code Online (Sandbox Code Playgroud)

然后我打电话

 dataGridView1.DataSource = someDataSet.Tables[0].DefaultView;
Run Code Online (Sandbox Code Playgroud)

最后一次调用将列添加到我的数据网格中,但我只想按列名绑定它而不是添加新列.

该示例将给出如下结果:

表列:ID,FirstName,FName,EID(ID和FirstName包含空单元格)

怎么弄这个:

Table columns: ID, FirstName or FirstName, ID
Run Code Online (Sandbox Code Playgroud)

最好的祝福!

c# data-binding datatable dataview datagridview

11
推荐指数
3
解决办法
4万
查看次数

设置DataGridView.DataSource后获取空行

有人可以告诉我为什么在运行此代码后我得到空行?

...
dataGridView.AutoGenerateColumns = false; //must be false, else getting additional columns from SQL
dataGridView.DataSource = dataSet.Tables[0].DefaultView; 
Run Code Online (Sandbox Code Playgroud)

也试过了

dataGridView.Update();
Run Code Online (Sandbox Code Playgroud)

但没有工作.

行数没问题,但为什么我会得到空行?

我正在使用Winforms.

c# datasource datagridview winforms

7
推荐指数
4
解决办法
3万
查看次数

在c#中使用线程工作的最佳方法是什么?

在c#中使用线程工作(方法)的最佳方法是什么?

例如:

假设我有一个表单,并希望从db加载数据.

My form controls: 
 - dataGridView (to show data from DB), 
 - label (loading status) and 
 - button (start loading).
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,我的表单将被冻结,直到任务完成.在任务完成之前,加载状态也不会改变.我认为异步线程会是答案吗?

所以我的问题是:处理这个问题的最佳方法是什么?我知道有很多关于线程的东西,但是它们之间的区别是什么?你如何使线程安全?

你是如何解决这类问题的?

最好的祝福.

.net c# multithreading

4
推荐指数
1
解决办法
1917
查看次数

C#lambda ref out

我正在尝试这样做,但它不起作用.一些建议?

int test_i = 0;
DoSomethingThatTakesAgesAndNeedsToUpdateUiWhenFinished(test_i);
test_i <- still is 0 and not 3!!!

public void DoSomethingThatTakesAgesAndNeedsToUpdateUiWhenFinished(int i)
{
    DisableUi();
    m_commandExecutor.ExecuteWithContinuation(
                () =>
                    {
                        // this is the long-running bit
                        ConnectToServer();
                        i = 3; <-------------------------- 
                        // This is the continuation that will be run
                        // on the UI thread
                        return () =>
                                    {
                                        EnableUi();
                                    };
                    });
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能将test_i设置为3?我也试过ref和out,但它不起作用.

我该怎么办才能修复它?

编辑

我试过这个,但是这个方法dataSet的ouside仍然是空的.

public static void Select(DataGridView dataGridView, ref DataSet dataSet, params object[] parameters)
  {
     var _dataSet = dataSet;
     AsyncCommandExecutor commandExecutor = …
Run Code Online (Sandbox Code Playgroud)

.net c# lambda .net-3.5

4
推荐指数
2
解决办法
4860
查看次数

表单对象和循环遍历c#中的对象?

我有一个主要表单(frmMain),有一些按钮(button1, button2...).

然后我这样做:

object objectsContainer = frmMain; // <--now the object contains form base, button1, button2...
Run Code Online (Sandbox Code Playgroud)

我怎么能循环遍历我的对象中的所有包含项目来访问butto1,button2 ...... ???

我这样做了,但这不是我想要的.

foreach (PropertyInfo pInfo in objectsContainer.GetType().GetProperties())     
{

}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

foreach (object objectFromForm in objectsContainer)     // <--- how to do this looping an object (type of form)
{
    //here is objectFromForm = base, button1, button2...
    foreach (PropertyInfo pInfo in objectFromForm .GetType().GetProperties())     
    {
               //here it's possible to access pInfo and its properties like size, name ...
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调试并查看objectsContainer的内容时,我想要所有"信息". …

.net c# object winforms

2
推荐指数
2
解决办法
3034
查看次数


如何通过添加新属性将DataGridView列文本格式设置为大写?

我有一个自定义DataGridView控件,并希望在设计器(CellStyle构建器)中设置自定义列的文本格式.

假设我想将文本格式设置为大写.在搜索了这个之后,我找到了一些添加新事件然后更改文本格式的解决方案,但这不是我想要的.我想为所有设计的列添加一个新属性,并设置或更改文本格式.

这该怎么做?

谢谢,最好的问候.

.net c# datagridview datagridviewtextboxcell

2
推荐指数
2
解决办法
2万
查看次数

如何在C#中从运行时获取表单中的所有控件?

是否有一种简单的方法来获取包含该属性的所有控件".Text"

我能够获得所有"top level"控件,但是我的代码没有像menu items所有级别那样找到子控件等等.我也试过了"ctrl.HasChildren".

如何在运行时在Windows窗体中执行此操作?

.net c# winforms

0
推荐指数
1
解决办法
3851
查看次数

如何在文本框中添加按钮?

我正在尝试使用右侧的按钮制作TextBox.我的代码:

public partial class TextBoxButton : TextBox
{
    [Category("Button")]
    [Description("Button in textbox")]
    public Button Button
    {
        get
        {
            return this.btn;
        }
        set
        {
            this.btn = value;
        }
    }

    protected override void OnCreateControl()
    {
        if (!this.Controls.Contains(this.btn))
        {
            this.Controls.Add(this.btn);
            this.btn.Dock = DockStyle.Right;
        }

        base.OnCreateControl();
    }
}
Run Code Online (Sandbox Code Playgroud)

每次当我启动appi并在按钮中设置一些文本或图像时,它都是空的.一些想法?

最好的祝福.

c# winforms

0
推荐指数
1
解决办法
2万
查看次数