我有一個UserControl
只包含一個DataGridView
,設置爲碼頭填充UserControl
。 dgv的ScrollBars
屬性設置爲Both
,但是當我動態地將dgv加載到客戶端窗體中的面板上時,沒有顯示水平滾動條。我發現了這個問題,但我的列沒有被凍結。我的滾動條在哪裏?爲什麼我的DataGridView上沒有水平滾動條?
我是數據綁定的dgv,它的列集合遠遠超過可見寬度。
我有一個UserControl
只包含一個DataGridView
,設置爲碼頭填充UserControl
。 dgv的ScrollBars
屬性設置爲Both
,但是當我動態地將dgv加載到客戶端窗體中的面板上時,沒有顯示水平滾動條。我發現了這個問題,但我的列沒有被凍結。我的滾動條在哪裏?爲什麼我的DataGridView上沒有水平滾動條?
我是數據綁定的dgv,它的列集合遠遠超過可見寬度。
所以我簡單的例子工作正常自動顯示滾動條。下面是我所做的:
我有一個UserControl
剛剛中有一個DataGridView
,Dock
設置爲全。
它有一個公共的功能,我添加看起來像這樣:
public void SetBinding(object theSource)
{
dataGridView1.DataSource = theSource;
}
只是來建立與數據源我的綁定。
我的測試形式非常簡單,它只是看起來像這樣:
public partial class Form1 : Form
{
BindingSource bs = new BindingSource();
List<Stuff> list = new List<Stuff>();
public Form1()
{
InitializeComponent();
BindSomeStuff();
}
private void BindSomeStuff()
{
for (int i = 0; i < 50; ++i)
{
list.Add(new Stuff
{
Column1 = i.ToString() + "Column1 Data",
Column2 = i.ToString() + "Column2 Data",
Column3 = i.ToString() + "Column3 Data",
Column4 = i.ToString() + "Column4 Data",
Column5 = i.ToString() + "Column5 Data",
Column6 = i.ToString() + "Column6 Data",
Column7 = i.ToString() + "Column7 Data",
Column8 = i.ToString() + "Column8 Data",
}
);
}
bs.DataSource = list;
userControl11.SetBinding(bs);
}
}
然後有一個簡單的類來保存,看起來像一些虛擬的數據:
public class Stuff
{
public string Column1 { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
public string Column4 { get; set; }
public string Column5 { get; set; }
public string Column6 { get; set; }
public string Column7 { get; set; }
public string Column8 { get; set; }
}
我UserControl
放在窗體和兩個滾動條都顯示出來。
我做並無其他變動的任何東西的DataGridView
任何性質的UserControl
它的一部分,或者認爲UserControl
的Form
。我想知道你是否有別的東西,我不知道。
你能告訴我們一些代碼嗎? – itsmatt